mirror of
https://github.com/vgmstream/vgmstream.git
synced 2024-11-30 17:24:31 +01:00
remove maiatrac3plus code
- hasn't been used for a long time
This commit is contained in:
parent
9156bbffbf
commit
872db6072b
@ -58,7 +58,6 @@ set_mpeg(ON FALSE)
|
||||
set_vorbis(ON FALSE)
|
||||
set_ffmpeg(ON FALSE)
|
||||
|
||||
option(USE_MAIATRAC3PLUS "Use MAIATRAC3+ for support of ATRAC3+" OFF)
|
||||
option(USE_G7221 "Use G7221 for support of ITU-T G.722.1 annex C" ON)
|
||||
option(USE_G719 "Use libg719_decode for support ITU-T G.719" ON)
|
||||
option(USE_ATRAC9 "Use LibAtrac9 for support of ATRAC9" ON)
|
||||
@ -68,7 +67,6 @@ if(NOT WIN32)
|
||||
option(USE_JANSSON "Use jansson for JSON dumping" ON)
|
||||
endif()
|
||||
|
||||
set(MAIATRAC3PLUS_PATH CACHE PATH "Path to MAIATRAC3+")
|
||||
if(NOT WIN32)
|
||||
set(MPEG_PATH CACHE PATH "Path to mpg123")
|
||||
set(OGG_PATH CACHE PATH "Path to Ogg")
|
||||
@ -156,7 +154,6 @@ include(dependencies/mpg123)
|
||||
include(dependencies/ogg)
|
||||
include(dependencies/vorbis)
|
||||
include(dependencies/libao)
|
||||
include(dependencies/maitrac3plus)
|
||||
include(dependencies/g719)
|
||||
include(dependencies/atrac9)
|
||||
include(dependencies/celt)
|
||||
@ -269,7 +266,6 @@ message(STATUS "=================")
|
||||
message(STATUS " MPEG: ${USE_MPEG} ${MPEG_SOURCE}")
|
||||
message(STATUS " Vorbis: ${USE_VORBIS} ${VORBIS_SOURCE}")
|
||||
message(STATUS " FFmpeg: ${USE_FFMPEG} ${FFMPEG_SOURCE}")
|
||||
message(STATUS " MAIATRAC3+: ${USE_MAIATRAC3PLUS} ${MAIATRAC3PLUS_SOURCE}")
|
||||
message(STATUS " G.722.1: ${USE_G7221} ${G7221_SOURCE}")
|
||||
message(STATUS " G.719: ${USE_G719} ${G719_SOURCE}")
|
||||
message(STATUS " ATRAC9: ${USE_ATRAC9} ${ATRAC9_SOURCE}")
|
||||
|
13
Makefile
13
Makefile
@ -119,13 +119,6 @@ ifeq ($(TARGET_OS),Windows_NT)
|
||||
LIBS_TARGET_EXT_LIBS += libg719_decode.a
|
||||
endif
|
||||
|
||||
VGM_MAT3P = 0
|
||||
ifneq ($(VGM_MAT3P),0)
|
||||
LIBS_CFLAGS += -DVGM_USE_MAIATRAC3PLUS
|
||||
LIBS_LDFLAGS += -lat3plusdecoder
|
||||
LIBS_TARGET_EXT_LIBS += libat3plusdecoder.a
|
||||
endif
|
||||
|
||||
VGM_FFMPEG = 1
|
||||
ifneq ($(VGM_FFMPEG),0)
|
||||
LIBS_CFLAGS += -DVGM_USE_FFMPEG -I../ext_includes/ffmpeg
|
||||
@ -175,12 +168,6 @@ else
|
||||
LIBS_LDFLAGS += -lg719_decode
|
||||
endif
|
||||
|
||||
VGM_MAT3P = 0
|
||||
ifneq ($(VGM_MAT3P),0)
|
||||
LIBS_CFLAGS += -DVGM_USE_MAIATRAC3PLUS
|
||||
LIBS_LDFLAGS += -lat3plusdecoder
|
||||
endif
|
||||
|
||||
VGM_FFMPEG = 0
|
||||
ifneq ($(VGM_FFMPEG),0)
|
||||
LIBS_CFLAGS += -DVGM_USE_FFMPEG
|
||||
|
@ -1,26 +0,0 @@
|
||||
if(USE_MAIATRAC3PLUS)
|
||||
FetchDependency(MAIATRAC3PLUS
|
||||
DIR maiatrac3plus
|
||||
)
|
||||
|
||||
if(MAIATRAC3PLUS_PATH)
|
||||
configure_file(
|
||||
${VGM_SOURCE_DIR}/ext_libs/maiatrac3plus/CMakeLists.txt
|
||||
${MAIATRAC3PLUS_PATH}/MaiAT3PlusDecoder/CMakeLists.txt
|
||||
COPYONLY)
|
||||
configure_file(
|
||||
${VGM_SOURCE_DIR}/ext_libs/maiatrac3plus/maiatrac3plus.h
|
||||
${MAIATRAC3PLUS_PATH}/MaiAT3PlusDecoder/maiatrac3plus.h
|
||||
COPYONLY)
|
||||
configure_file(
|
||||
${MAIATRAC3PLUS_PATH}/MaiAT3PlusDecoder/src/base/Mai_mem.cc
|
||||
${MAIATRAC3PLUS_PATH}/MaiAT3PlusDecoder/src/base/Mai_Mem.cc
|
||||
COPYONLY)
|
||||
add_subdirectory(${MAIATRAC3PLUS_PATH}/MaiAT3PlusDecoder ${MAIATRAC3PLUS_BIN} EXCLUDE_FROM_ALL)
|
||||
else()
|
||||
message(FATAL_ERROR "Path to MAIATRAC3+ must be set. (Use MAIATRAC3PLUS_PATH)")
|
||||
endif()
|
||||
endif()
|
||||
if(NOT USE_MAIATRAC3PLUS)
|
||||
unset(MAIATRAC3PLUS_SOURCE)
|
||||
endif()
|
@ -100,14 +100,6 @@ macro(setup_target TARGET)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(USE_MAIATRAC3PLUS)
|
||||
target_compile_definitions(${TARGET} PRIVATE VGM_USE_MAIATRAC3PLUS)
|
||||
target_include_directories(${TARGET} PRIVATE ${MAIATRAC3PLUS_PATH}/MaiAT3PlusDecoder)
|
||||
if(LINK)
|
||||
target_link_libraries(${TARGET} at3plusdecoder)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(USE_ATRAC9)
|
||||
target_compile_definitions(${TARGET} PRIVATE VGM_USE_ATRAC9)
|
||||
if(WIN32 AND LINK)
|
||||
|
@ -127,7 +127,6 @@ All of these options are of type BOOL and can be set to either `ON` or `OFF`. Mo
|
||||
- **USE_MPEG**: Chooses if you wish to use libmpg123 for support of MP1/MP2/MP3. The default is `ON`.
|
||||
- **USE_VORBIS**: Chooses if you wish to use libvorbis for support of Vorbis. The default is `ON`.
|
||||
- **USE_FFMPEG**: Chooses if you wish to use FFmpeg for support of many codecs. The default is `ON`. `FFMPEG_PATH` can also be given, so it can use official/external SDK instead of the one used in vgmstream project.
|
||||
- **USE_MAIATRAC3PLUS**: Chooses if you wish to use MAIATRAC3+ for support of ATRAC3+. The default is `OFF`. It is not recommended to enable.
|
||||
- **USE_G7221**: Chooses if you wish to use G7221 for support of ITU-T G.722.1 annex C. The default is `ON`.
|
||||
- **USE_G719**: Chooses if you wish to use libg719_decode for support ITU-T G.719. The default is `ON`.
|
||||
- **USE_ATRAC9**: Chooses if you wish to use LibAtrac9 for support of ATRAC9. The default is `ON`.
|
||||
@ -167,7 +166,6 @@ If FDK-AAC/QAAC support is enabled, the following paths are required (with more
|
||||
|
||||
- **QAAC_PATH**: The path to the QAAC library. It can be obtained at https://github.com/kode54/qaac
|
||||
- **FDK_AAC_PATH**: The path to the FDK-AAC library. It can be obtained at https://github.com/kode54/fdk-aac
|
||||
- **MAIATRAC3PLUS_PATH**: The path to the MAIATRAC3+ library. If MAIATRAC3+ support is enabled, providing this path is required. It is not recommended to use.
|
||||
- **MPEG_PATH**: The path to the mpg123 library. It can be obtained from [the mpg123 project on SourceForge.net](https://sourceforge.net/projects/mpg123/files/mpg123/1.25.10/). If not set and static building is enabled, this will be downloaded automatically.
|
||||
- **FFMPEG_PATH**: The path to the FFmpeg source directory. It can be obtained at https://git.ffmpeg.org/ffmpeg.git If not set and static building is enabled, this will be downloaded automatically.
|
||||
- **G719_PATH**: The path to the G.719 decoder library. It can be obtained at https://github.com/kode54/libg719_decode If not set, it is downloaded automatically on Linux.
|
||||
|
@ -1,217 +0,0 @@
|
||||
# vim:noexpandtab:
|
||||
cmake_minimum_required(VERSION 2.8.8)
|
||||
project(MaiAT3)
|
||||
|
||||
if(ANDROID)
|
||||
if(ARMEABI OR ARMEABI_V7A)
|
||||
set(ARM ON)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (IOS OR BLACKBERRY)
|
||||
set(ARM ON)
|
||||
endif()
|
||||
|
||||
if (MAEMO)
|
||||
set(ARM ON)
|
||||
#Maemo's gcc-4.7.2 is strickt
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpermissive")
|
||||
endif()
|
||||
|
||||
if(LOONGSON)
|
||||
set(MIPS ON) # MIPS + x86 for now
|
||||
endif()
|
||||
|
||||
if(ARM)
|
||||
set(USING_GLES2 ON)
|
||||
else() # Assume x86
|
||||
set(X86 ON)
|
||||
endif()
|
||||
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
set(MACOSX ON)
|
||||
endif()
|
||||
|
||||
if(ANDROID OR BLACKBERRY OR IOS OR PANDORA OR MAEMO OR MACOSX)
|
||||
set(HEADLESS OFF)
|
||||
elseif(NOT DEFINED HEADLESS)
|
||||
set(HEADLESS ON)
|
||||
endif()
|
||||
|
||||
# User-editable options (go into CMakeCache.txt)
|
||||
option(ARM "Set to ON if targeting an ARM processor" ${ARM})
|
||||
option(MIPS "Set to ON if targeting a MIPS processor" ${MIPS})
|
||||
option(X86 "Set to ON if targeting an X86 processor" ${X86})
|
||||
option(ANDROID "Set to ON if targeting an Android device" ${ANDROID})
|
||||
option(BLACKBERRY "Set to ON if targeting a Blackberry device" ${BLACKBERRY})
|
||||
option(PANDORA "Set to ON if targeting an OpenPandora device" ${PANDORA})
|
||||
option(MAEMO "Set to ON if targeting an Maemo (N900) device" ${MAEMO})
|
||||
option(IOS "Set to ON if targeting an iOS device" ${IOS})
|
||||
|
||||
if(ANDROID)
|
||||
if(NOT ANDROID_ABI)
|
||||
message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE was not set!\n"
|
||||
"Delete the CMakeCache.txt file and CMakeFiles directory."
|
||||
"Rerun ${CMAKE_COMMAND} with \"-DCMAKE_TOOLCHAIN_FILE"
|
||||
"=${CMAKE_SOURCE_DIR}/android/android.toolchain.cmake\"")
|
||||
endif()
|
||||
set(CoreLibName ppsspp_jni)
|
||||
set(CoreLinkType SHARED)
|
||||
elseif(IOS)
|
||||
if (NOT IOS_PLATFORM)
|
||||
message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE was not set!\n"
|
||||
"Delete the CMakeCache.txt file and CMakeFiles directory."
|
||||
"Rerun ${CMAKE_COMMAND} with \"-DCMAKE_TOOLCHAIN_FILE"
|
||||
"=${CMAKE_SOURCE_DIR}/ios/ios.toolchain.cmake\"")
|
||||
endif()
|
||||
set(CoreLibName Core)
|
||||
set(CoreLinkType STATIC)
|
||||
else()
|
||||
set(CoreLibName Core)
|
||||
set(CoreLinkType STATIC)
|
||||
endif()
|
||||
|
||||
include(FindThreads)
|
||||
if(APPLE)
|
||||
find_library(COCOA_LIBRARY Cocoa)
|
||||
endif()
|
||||
|
||||
# Needed for Globals.h
|
||||
include_directories("${CMAKE_SOURCE_DIR}")
|
||||
|
||||
if(BLACKBERRY)
|
||||
add_definitions(-DBLACKBERRY)
|
||||
if(BLACKBERRY VERSION_GREATER 10)
|
||||
add_definitions(-DBLACKBERRY10)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(ANDROID)
|
||||
add_definitions(-DANDROID)
|
||||
endif()
|
||||
|
||||
if(IOS)
|
||||
add_definitions(-DIOS)
|
||||
endif()
|
||||
|
||||
if(MAEMO)
|
||||
add_definitions(-DMAEMO)
|
||||
endif()
|
||||
|
||||
if(PANDORA)
|
||||
add_definitions(-DPANDORA)
|
||||
endif()
|
||||
|
||||
if(ARM)
|
||||
add_definitions(-DARM)
|
||||
endif()
|
||||
|
||||
if(MIPS)
|
||||
add_definitions(-DMIPS)
|
||||
endif()
|
||||
|
||||
if(MACOSX)
|
||||
add_definitions(-DMACOSX)
|
||||
endif()
|
||||
|
||||
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -D_DEBUG")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -D_NDEBUG")
|
||||
|
||||
if(NOT MSVC)
|
||||
# Disable some warnings
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
|
||||
add_definitions(-Wno-multichar)
|
||||
add_definitions(-fno-strict-aliasing)
|
||||
if (CMAKE_C_COMPILER_ID STREQUAL "Intel")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -parallel -fopenmp")
|
||||
else()
|
||||
add_definitions(-ffast-math)
|
||||
endif()
|
||||
if(NOT APPLE)
|
||||
if (NOT CMAKE_C_COMPILER_ID STREQUAL "Intel")
|
||||
add_definitions(-Wno-psabi)
|
||||
endif()
|
||||
add_definitions(-D_XOPEN_SOURCE=600 -D_XOPEN_SOURCE_EXTENDED -D__BSD_VISIBLE=1)
|
||||
add_definitions(-D_LARGEFILE64_SOURCE=1 -D_FILE_OFFSET_BITS=64)
|
||||
endif()
|
||||
if(IOS)
|
||||
add_definitions(-DGL_ETC1_RGB8_OES=0)
|
||||
endif()
|
||||
|
||||
if(BLACKBERRY)
|
||||
add_definitions(-D_QNX_SOURCE=1 -D_C99=1 -O3 -mfpu=neon -mtune=cortex-a9)
|
||||
endif()
|
||||
|
||||
if(X86 AND NOT MIPS)
|
||||
# enable sse2 code generation
|
||||
add_definitions(-msse2)
|
||||
if(EMSCRIPTEN)
|
||||
add_definitions(-msimd128)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if(IOS)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libstdc++")
|
||||
elseif(APPLE)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -U__STRICT_ANSI__")
|
||||
# Karen/angelXwind: --macosx-version-min=10.7 is needed in order to produce binaries that OS X 10.7 Lion can execute. However, it seems that PPSSPP won't support 10.6 or lower without getting rid of -stdlib=libc++ ...which probably won't end well. So I guess PPSSPP will strictly be a 10.7+ app.
|
||||
# vit9696: OSX 10.6 builds are possible: http://forums.ppsspp.org/showthread.php?tid=1826&pid=18875#pid18875
|
||||
set(CMAKE_XCODE_ATTRIBUTE_CLANG_CXX_LIBRARY "libc++")
|
||||
endif()
|
||||
if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7.0)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
|
||||
else()
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
|
||||
endif()
|
||||
else()
|
||||
# Disable warnings about MS-specific _s variants of libc functions
|
||||
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
|
||||
endif()
|
||||
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
|
||||
|
||||
if(ANDROID)
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_SOURCE_DIR}/android/libs/${ANDROID_ABI}")
|
||||
endif()
|
||||
|
||||
# This sets up the MSVC project dirs according to the physical project dirs
|
||||
macro(setup_target_project TargetName ProjectDir)
|
||||
get_property(TargetSources TARGET "${TargetName}" PROPERTY SOURCES)
|
||||
foreach(Source ${TargetSources})
|
||||
# Figure out the file's path relative to the ProjectDir
|
||||
# NOTE: &#$@ double-quoted regexps
|
||||
string(REGEX REPLACE "${ProjectDir}" "" RelativePath "${Source}")
|
||||
string(REGEX REPLACE "[\\\\/][^\\\\/]*$" "" RelativePath "${RelativePath}")
|
||||
string(REGEX REPLACE "^[\\\\/]" "" RelativePath "${RelativePath}")
|
||||
string(REGEX REPLACE "/" "\\\\\\\\" RelativePath "${RelativePath}")
|
||||
# put the source file in a source_group equivalent to the relative path
|
||||
source_group("${RelativePath}" FILES ${Source})
|
||||
endforeach()
|
||||
endmacro()
|
||||
|
||||
include_directories(include)
|
||||
include_directories(include/SUB)
|
||||
|
||||
add_library(base STATIC
|
||||
src/base/Heap_Alloc0.cc
|
||||
src/base/MaiBitReader.cc
|
||||
src/base/MaiBufIO.cc
|
||||
src/base/MaiCriticalSection.cc
|
||||
src/base/MaiFile.cc
|
||||
src/base/MaiQueue0.cc
|
||||
src/base/MaiString.cc
|
||||
src/base/MaiThread.cc
|
||||
src/base/Mai_Sleep.cc
|
||||
src/base/Mai_Mem.cc
|
||||
src/base/Unicode.cc)
|
||||
|
||||
add_library(at3plusdecoder SHARED
|
||||
maiatrac3plus.cpp
|
||||
src/MaiAT3PlusCoreDecoder.cpp
|
||||
src/MaiAT3PlusCoreDecoder_DecFunc.cpp
|
||||
src/MaiAT3PlusCoreDecoder_StaticData.cpp
|
||||
src/MaiAT3PlusCoreDecoder_SubFunc.cpp
|
||||
src/MaiAT3PlusFrameDecoder.cpp)
|
||||
|
||||
target_link_libraries(at3plusdecoder base)
|
@ -1,28 +0,0 @@
|
||||
// The following ifdef block is the standard way of creating macros which make exporting
|
||||
// from a DLL simpler. All files within this DLL are compiled with the MAIATRAC3PLUS_EXPORTS
|
||||
// symbol defined on the command line. This symbol should not be defined on any project
|
||||
// that uses this DLL. This way any other project whose source files include this file see
|
||||
// MAIATRAC3PLUS_API functions as being imported from a DLL, whereas this DLL sees symbols
|
||||
// defined with this macro as being exported.
|
||||
|
||||
#ifdef _WIN32
|
||||
#ifdef MAIATRAC3PLUS_EXPORTS
|
||||
#define MAIATRAC3PLUS_API __declspec(dllexport)
|
||||
#else
|
||||
#define MAIATRAC3PLUS_API __declspec(dllimport)
|
||||
#endif
|
||||
#else
|
||||
#define MAIATRAC3PLUS_API
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
MAIATRAC3PLUS_API void* Atrac3plusDecoder_openContext();
|
||||
MAIATRAC3PLUS_API int Atrac3plusDecoder_closeContext(void* context);
|
||||
MAIATRAC3PLUS_API int Atrac3plusDecoder_decodeFrame(void* context, void* inbuf, int inbytes, int* channels, void** outbuf);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
@ -1,82 +0,0 @@
|
||||
#include "coding.h"
|
||||
#include "../util.h"
|
||||
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
#include "maiatrac3plus.h"
|
||||
#include "at3plus_decoder.h"
|
||||
|
||||
maiatrac3plus_codec_data *init_at3plus() {
|
||||
|
||||
maiatrac3plus_codec_data *data = malloc(sizeof(maiatrac3plus_codec_data));
|
||||
data->buffer = 0;
|
||||
data->samples_discard = 0;
|
||||
data->handle = Atrac3plusDecoder_openContext();
|
||||
if (!data->handle) goto fail;
|
||||
|
||||
return data;
|
||||
|
||||
fail:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void decode_at3plus(VGMSTREAM * vgmstream, sample * outbuf, int channelspacing, int32_t samples_to_do, int channel) {
|
||||
VGMSTREAMCHANNEL *ch = &vgmstream->ch[0];
|
||||
maiatrac3plus_codec_data *data = vgmstream->codec_data;
|
||||
int i;
|
||||
|
||||
int first_sample = vgmstream->samples_into_block % 2048;
|
||||
|
||||
if (0 == channel && (0 == first_sample || data->samples_discard == first_sample))
|
||||
{
|
||||
uint8_t code_buffer[0x8000];
|
||||
int blocks_to_decode = 1;
|
||||
int max_blocks_to_decode = (ch->offset - ch->channel_start_offset) / vgmstream->interleave_block_size + 1;
|
||||
if (data->samples_discard) blocks_to_decode = 8;
|
||||
if (blocks_to_decode > max_blocks_to_decode) blocks_to_decode = max_blocks_to_decode;
|
||||
while (blocks_to_decode--) {
|
||||
ch->streamfile->read(ch->streamfile, code_buffer, ch->offset - blocks_to_decode * vgmstream->interleave_block_size, vgmstream->interleave_block_size);
|
||||
Atrac3plusDecoder_decodeFrame(data->handle, code_buffer, vgmstream->interleave_block_size, &data->channels, (void**)&data->buffer);
|
||||
}
|
||||
data->samples_discard = 0;
|
||||
}
|
||||
|
||||
for (i = 0; i < samples_to_do; i++) {
|
||||
outbuf[i*channelspacing] = data->buffer[(first_sample+i)*data->channels+channel];
|
||||
}
|
||||
|
||||
if (0 == channel && 2048 == first_sample + samples_to_do) {
|
||||
ch->offset += vgmstream->interleave_block_size;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void reset_at3plus(VGMSTREAM *vgmstream) {
|
||||
maiatrac3plus_codec_data *data = vgmstream->codec_data;
|
||||
if (!data) return;
|
||||
|
||||
if (data->handle)
|
||||
Atrac3plusDecoder_closeContext(data->handle);
|
||||
data->handle = Atrac3plusDecoder_openContext();
|
||||
data->samples_discard = 0;
|
||||
}
|
||||
|
||||
void seek_at3plus(VGMSTREAM *vgmstream, int32_t num_sample) {
|
||||
int blocks_to_skip = num_sample / 2048;
|
||||
int samples_to_discard = num_sample % 2048;
|
||||
maiatrac3plus_codec_data *data = (maiatrac3plus_codec_data *)(vgmstream->codec_data);
|
||||
if (!data) return;
|
||||
|
||||
vgmstream->loop_ch[0].offset =
|
||||
vgmstream->loop_ch[0].channel_start_offset +
|
||||
vgmstream->interleave_block_size * blocks_to_skip;
|
||||
data->samples_discard = samples_to_discard;
|
||||
}
|
||||
|
||||
void free_at3plus(maiatrac3plus_codec_data *data) {
|
||||
if (data) {
|
||||
if (data->handle) Atrac3plusDecoder_closeContext(data->handle);
|
||||
free(data);
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
@ -1,11 +0,0 @@
|
||||
#ifndef _AT3PLUS_DECODER_H
|
||||
#define _AT3PLUS_DECODER_H
|
||||
|
||||
struct maiatrac3plus_codec_data {
|
||||
sample_t* buffer;
|
||||
int channels;
|
||||
int samples_discard;
|
||||
void* handle;
|
||||
};
|
||||
|
||||
#endif
|
@ -544,18 +544,6 @@ void free_mp4_aac(mp4_aac_codec_data* data);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
/* at3plus_decoder */
|
||||
typedef struct maiatrac3plus_codec_data maiatrac3plus_codec_data;
|
||||
|
||||
maiatrac3plus_codec_data* init_at3plus();
|
||||
void decode_at3plus(VGMSTREAM* vgmstream, sample * outbuf, int channelspacing, int32_t samples_to_do, int channel);
|
||||
void reset_at3plus(VGMSTREAM* vgmstream);
|
||||
void seek_at3plus(VGMSTREAM* vgmstream, int32_t num_sample);
|
||||
void free_at3plus(maiatrac3plus_codec_data* data);
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef VGM_USE_ATRAC9
|
||||
/* atrac9_decoder */
|
||||
typedef struct {
|
||||
|
35
src/decode.c
35
src/decode.c
@ -4,9 +4,6 @@
|
||||
#include "coding/coding.h"
|
||||
#include "mixing.h"
|
||||
#include "plugins.h"
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
#include "at3plus_decoder.h"
|
||||
#endif
|
||||
|
||||
/* custom codec handling, not exactly "decode" stuff but here to simplify adding new codecs */
|
||||
|
||||
@ -94,12 +91,6 @@ void free_codec(VGMSTREAM* vgmstream) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
if (vgmstream->coding_type == coding_AT3plus) {
|
||||
free_at3plus(vgmstream->codec_data);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef VGM_USE_ATRAC9
|
||||
if (vgmstream->coding_type == coding_ATRAC9) {
|
||||
free_atrac9(vgmstream->codec_data);
|
||||
@ -188,12 +179,6 @@ void seek_codec(VGMSTREAM* vgmstream) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
if (vgmstream->coding_type == coding_AT3plus) {
|
||||
seek_at3plus(vgmstream, vgmstream->loop_current_sample);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef VGM_USE_ATRAC9
|
||||
if (vgmstream->coding_type == coding_ATRAC9) {
|
||||
seek_atrac9(vgmstream, vgmstream->loop_current_sample);
|
||||
@ -305,12 +290,6 @@ void reset_codec(VGMSTREAM* vgmstream) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
if (vgmstream->coding_type == coding_AT3plus) {
|
||||
reset_at3plus(vgmstream);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef VGM_USE_ATRAC9
|
||||
if (vgmstream->coding_type == coding_ATRAC9) {
|
||||
reset_atrac9(vgmstream->codec_data);
|
||||
@ -557,10 +536,6 @@ int get_vgmstream_samples_per_frame(VGMSTREAM* vgmstream) {
|
||||
case coding_MP4_AAC:
|
||||
return ((mp4_aac_codec_data*)vgmstream->codec_data)->samples_per_frame;
|
||||
#endif
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
case coding_AT3plus:
|
||||
return 2048 - ((maiatrac3plus_codec_data*)vgmstream->codec_data)->samples_discard;
|
||||
#endif
|
||||
#ifdef VGM_USE_ATRAC9
|
||||
case coding_ATRAC9:
|
||||
return 0; /* varies with config data, usually 256 or 1024 */
|
||||
@ -734,9 +709,6 @@ int get_vgmstream_frame_size(VGMSTREAM* vgmstream) {
|
||||
#ifdef VGM_USE_G719
|
||||
case coding_G719:
|
||||
#endif
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
case coding_AT3plus:
|
||||
#endif
|
||||
#ifdef VGM_USE_FFMPEG
|
||||
case coding_FFmpeg:
|
||||
#endif
|
||||
@ -1304,13 +1276,6 @@ void decode_vgmstream(VGMSTREAM* vgmstream, int samples_written, int samples_to_
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
case coding_AT3plus:
|
||||
for (ch = 0; ch < vgmstream->channels; ch++) {
|
||||
decode_at3plus(vgmstream, buffer+ch, vgmstream->channels, samples_to_do, ch);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
#ifdef VGM_USE_ATRAC9
|
||||
case coding_ATRAC9:
|
||||
decode_atrac9(vgmstream, buffer, samples_to_do, vgmstream->channels);
|
||||
|
@ -886,9 +886,6 @@ static const coding_info coding_info_list[] = {
|
||||
#ifdef VGM_USE_G719
|
||||
{coding_G719, "ITU G.719 annex B (Polycom Siren 22)"},
|
||||
#endif
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
{coding_AT3plus, "ATRAC3plus"},
|
||||
#endif
|
||||
#ifdef VGM_USE_ATRAC9
|
||||
{coding_ATRAC9, "ATRAC9"},
|
||||
#endif
|
||||
|
@ -277,13 +277,6 @@ static int read_fmt(int big_endian, STREAMFILE* sf, off_t offset, riff_fmt_chunk
|
||||
fmt->coding_type = coding_FFmpeg;
|
||||
fmt->is_at3p = 1;
|
||||
break;
|
||||
#elif defined(VGM_USE_MAIATRAC3PLUS)
|
||||
uint16_t bztmp = read_u16(offset+0x32,sf);
|
||||
bztmp = (bztmp >> 8) | (bztmp << 8);
|
||||
fmt->coding_type = coding_AT3plus;
|
||||
fmt->block_size = (bztmp & 0x3FF) * 8 + 8; /* should match fmt->block_size */
|
||||
fmt->is_at3p = 1;
|
||||
break;
|
||||
#else
|
||||
goto fail;
|
||||
#endif
|
||||
@ -679,9 +672,6 @@ VGMSTREAM* init_vgmstream_riff(STREAMFILE* sf) {
|
||||
#ifdef VGM_USE_FFMPEG
|
||||
case coding_FFmpeg:
|
||||
#endif
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
case coding_AT3plus:
|
||||
#endif
|
||||
#ifdef VGM_USE_ATRAC9
|
||||
case coding_ATRAC9:
|
||||
#endif
|
||||
@ -789,17 +779,6 @@ VGMSTREAM* init_vgmstream_riff(STREAMFILE* sf) {
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
case coding_AT3plus: {
|
||||
vgmstream->codec_data = init_at3plus();
|
||||
|
||||
/* get rough total samples but favor fact_samples if available (skip isn't correctly handled for now) */
|
||||
vgmstream->num_samples = atrac3plus_bytes_to_samples(data_size, fmt.block_size);
|
||||
if (fact_sample_count > 0 && fact_sample_count + fact_sample_skip < vgmstream->num_samples)
|
||||
vgmstream->num_samples = fact_sample_count + fact_sample_skip;
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
#ifdef VGM_USE_ATRAC9
|
||||
case coding_ATRAC9: {
|
||||
atrac9_config cfg = {0};
|
||||
|
@ -30,7 +30,6 @@ enum {
|
||||
//#define VGM_USE_G719
|
||||
//#define VGM_USE_MP4V2
|
||||
//#define VGM_USE_FDKAAC
|
||||
//#define VGM_USE_MAIATRAC3PLUS
|
||||
//#define VGM_USE_FFMPEG
|
||||
//#define VGM_USE_ATRAC9
|
||||
//#define VGM_USE_CELT
|
||||
@ -213,10 +212,6 @@ typedef enum {
|
||||
coding_MP4_AAC, /* AAC (MDCT-based) */
|
||||
#endif
|
||||
|
||||
#ifdef VGM_USE_MAIATRAC3PLUS
|
||||
coding_AT3plus, /* Sony ATRAC3plus (MDCT-based) */
|
||||
#endif
|
||||
|
||||
#ifdef VGM_USE_ATRAC9
|
||||
coding_ATRAC9, /* Sony ATRAC9 (MDCT-based) */
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user