Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
PeterMX committed Mar 18, 2021
0 parents commit 17ec5b7
Show file tree
Hide file tree
Showing 584 changed files with 168,380 additions and 0 deletions.
189 changes: 189 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
cmake_minimum_required(VERSION 3.17)
project(tgs2animated)

set(CMAKE_CXX_STANDARD 14)

#webp
add_library(webp STATIC
libs/libwebp/src/dec/alpha_dec.c
libs/libwebp/src/dec/buffer_dec.c
libs/libwebp/src/dec/frame_dec.c
libs/libwebp/src/dec/idec_dec.c
libs/libwebp/src/dec/io_dec.c
libs/libwebp/src/dec/quant_dec.c
libs/libwebp/src/dec/tree_dec.c
libs/libwebp/src/dec/vp8_dec.c
libs/libwebp/src/dec/vp8l_dec.c
libs/libwebp/src/dec/webp_dec.c
libs/libwebp/src/dsp/alpha_processing.c
libs/libwebp/src/dsp/alpha_processing_mips_dsp_r2.c
libs/libwebp/src/dsp/alpha_processing_neon.c
libs/libwebp/src/dsp/alpha_processing_sse2.c
libs/libwebp/src/dsp/alpha_processing_sse41.c
libs/libwebp/src/dsp/cost.c
libs/libwebp/src/dsp/cost_mips32.c
libs/libwebp/src/dsp/cost_mips_dsp_r2.c
libs/libwebp/src/dsp/cost_neon.c
libs/libwebp/src/dsp/cost_sse2.c
libs/libwebp/src/dsp/cpu.c
libs/libwebp/src/dsp/dec.c
libs/libwebp/src/dsp/dec_clip_tables.c
libs/libwebp/src/dsp/dec_mips32.c
libs/libwebp/src/dsp/dec_mips_dsp_r2.c
libs/libwebp/src/dsp/dec_msa.c
libs/libwebp/src/dsp/dec_neon.c
libs/libwebp/src/dsp/dec_sse2.c
libs/libwebp/src/dsp/dec_sse41.c
libs/libwebp/src/dsp/enc.c
libs/libwebp/src/dsp/enc_mips32.c
libs/libwebp/src/dsp/enc_mips_dsp_r2.c
libs/libwebp/src/dsp/enc_msa.c
libs/libwebp/src/dsp/enc_neon.c
libs/libwebp/src/dsp/enc_sse2.c
libs/libwebp/src/dsp/enc_sse41.c
libs/libwebp/src/dsp/filters.c
libs/libwebp/src/dsp/filters_mips_dsp_r2.c
libs/libwebp/src/dsp/filters_msa.c
libs/libwebp/src/dsp/filters_neon.c
libs/libwebp/src/dsp/filters_sse2.c
libs/libwebp/src/dsp/lossless.c
libs/libwebp/src/dsp/lossless_enc.c
libs/libwebp/src/dsp/lossless_enc_mips32.c
libs/libwebp/src/dsp/lossless_enc_mips_dsp_r2.c
libs/libwebp/src/dsp/lossless_enc_msa.c
libs/libwebp/src/dsp/lossless_enc_neon.c
libs/libwebp/src/dsp/lossless_enc_sse2.c
libs/libwebp/src/dsp/lossless_enc_sse41.c
libs/libwebp/src/dsp/lossless_mips_dsp_r2.c
libs/libwebp/src/dsp/lossless_msa.c
libs/libwebp/src/dsp/lossless_neon.c
libs/libwebp/src/dsp/lossless_sse2.c
libs/libwebp/src/dsp/rescaler.c
libs/libwebp/src/dsp/rescaler_mips32.c
libs/libwebp/src/dsp/rescaler_mips_dsp_r2.c
libs/libwebp/src/dsp/rescaler_msa.c
libs/libwebp/src/dsp/rescaler_neon.c
libs/libwebp/src/dsp/rescaler_sse2.c
libs/libwebp/src/dsp/ssim.c
libs/libwebp/src/dsp/ssim_sse2.c
libs/libwebp/src/dsp/upsampling.c
libs/libwebp/src/dsp/upsampling_mips_dsp_r2.c
libs/libwebp/src/dsp/upsampling_msa.c
libs/libwebp/src/dsp/upsampling_neon.c
libs/libwebp/src/dsp/upsampling_sse2.c
libs/libwebp/src/dsp/upsampling_sse41.c
libs/libwebp/src/dsp/yuv.c
libs/libwebp/src/dsp/yuv_mips32.c
libs/libwebp/src/dsp/yuv_mips_dsp_r2.c
libs/libwebp/src/dsp/yuv_neon.c
libs/libwebp/src/dsp/yuv_sse2.c
libs/libwebp/src/dsp/yuv_sse41.c
libs/libwebp/src/enc/alpha_enc.c
libs/libwebp/src/enc/analysis_enc.c
libs/libwebp/src/enc/backward_references_cost_enc.c
libs/libwebp/src/enc/backward_references_enc.c
libs/libwebp/src/enc/config_enc.c
libs/libwebp/src/enc/cost_enc.c
libs/libwebp/src/enc/filter_enc.c
libs/libwebp/src/enc/frame_enc.c
libs/libwebp/src/enc/histogram_enc.c
libs/libwebp/src/enc/iterator_enc.c
libs/libwebp/src/enc/near_lossless_enc.c
libs/libwebp/src/enc/picture_csp_enc.c
libs/libwebp/src/enc/picture_enc.c
libs/libwebp/src/enc/picture_psnr_enc.c
libs/libwebp/src/enc/picture_rescale_enc.c
libs/libwebp/src/enc/picture_tools_enc.c
libs/libwebp/src/enc/predictor_enc.c
libs/libwebp/src/enc/quant_enc.c
libs/libwebp/src/enc/syntax_enc.c
libs/libwebp/src/enc/token_enc.c
libs/libwebp/src/enc/tree_enc.c
libs/libwebp/src/enc/vp8l_enc.c
libs/libwebp/src/enc/webp_enc.c
libs/libwebp/src/mux/anim_encode.c
libs/libwebp/src/mux/muxedit.c
libs/libwebp/src/mux/muxread.c
libs/libwebp/src/mux/muxinternal.c
libs/libwebp/src/utils/bit_reader_utils.c
libs/libwebp/src/utils/bit_writer_utils.c
libs/libwebp/src/utils/color_cache_utils.c
libs/libwebp/src/utils/filters_utils.c
libs/libwebp/src/utils/huffman_utils.c
libs/libwebp/src/utils/huffman_encode_utils.c
libs/libwebp/src/utils/quant_levels_utils.c
libs/libwebp/src/utils/quant_levels_dec_utils.c
libs/libwebp/src/utils/random_utils.c
libs/libwebp/src/utils/rescaler_utils.c
libs/libwebp/src/utils/thread_utils.c
libs/libwebp/src/utils/utils.c
libs/libwebp/examples/example_util.c
libs/libwebp/imageio/imageio_util.c)
target_compile_options(webp PUBLIC
-Wall -fPIC -finline-functions -ffast-math -Os)
target_compile_definitions(webp PUBLIC
HAVE_MALLOC_H HAVE_PTHREAD WEBP_USE_THREAD)
target_include_directories(webp PUBLIC
libs/libwebp)

#rlottie
add_library(rlottie STATIC
libs/rlottie/src/lottie/lottieanimation.cpp
libs/rlottie/src/lottie/lottieitem.cpp
libs/rlottie/src/lottie/lottiekeypath.cpp
libs/rlottie/src/lottie/lottieloader.cpp
libs/rlottie/src/lottie/lottiemodel.cpp
libs/rlottie/src/lottie/lottieparser.cpp
libs/rlottie/src/lottie/lottieproxymodel.cpp
libs/rlottie/src/vector/freetype/v_ft_math.cpp
libs/rlottie/src/vector/freetype/v_ft_raster.cpp
libs/rlottie/src/vector/freetype/v_ft_stroker.cpp
libs/rlottie/src/vector/pixman/vregion.cpp
libs/rlottie/src/vector/stb/stb_image.cpp
libs/rlottie/src/vector/vbezier.cpp
libs/rlottie/src/vector/vbitmap.cpp
libs/rlottie/src/vector/vbrush.cpp
libs/rlottie/src/vector/vcompositionfunctions.cpp
libs/rlottie/src/vector/vdasher.cpp
libs/rlottie/src/vector/vdebug.cpp
libs/rlottie/src/vector/vdrawable.cpp
libs/rlottie/src/vector/vdrawhelper.cpp
libs/rlottie/src/vector/vdrawhelper_neon.cpp
libs/rlottie/src/vector/vdrawhelper_sse2.cpp
libs/rlottie/src/vector/velapsedtimer.cpp
libs/rlottie/src/vector/vimageloader.cpp
libs/rlottie/src/vector/vinterpolator.cpp
libs/rlottie/src/vector/vmatrix.cpp
libs/rlottie/src/vector/vpainter.cpp
libs/rlottie/src/vector/vpath.cpp
libs/rlottie/src/vector/vpathmesure.cpp
libs/rlottie/src/vector/vraster.cpp
libs/rlottie/src/vector/vrect.cpp
libs/rlottie/src/vector/vrle.cpp)
target_compile_options(rlottie PUBLIC
-Wall -fPIC -fno-rtti -finline-functions -ffast-math -Os -fno-unwind-tables -fno-asynchronous-unwind-tables -Wnon-virtual-dtor -Woverloaded-virtual -Wno-unused-parameter -fvisibility=hidden)
target_compile_definitions(rlottie PUBLIC
NDEBUG)
target_include_directories(rlottie PUBLIC
libs/rlottie/inc
libs/rlottie/src/vector/
libs/rlottie/src/vector/pixman
libs/rlottie/src/vector/freetype
libs/rlottie/src/vector/stb)

add_executable(tgs2animated
main.cpp
webp/webp_builder.cpp webp/webp_builder.h
webp/render.cpp webp/render.h
webp/utils.cpp webp/utils.h
data/data_holder.cpp data/data_holder.h
)
target_compile_options(tgs2animated PUBLIC
-ffast-math -Os -funroll-loops -ffast-math -fno-strict-aliasing -fno-math-errno)

target_link_libraries(tgs2animated rlottie webp pthread dl)

target_include_directories(tgs2animated
PRIVATE
"${CMAKE_CURRENT_LIST_DIR}/libs/rlottie/inc/"
"${CMAKE_CURRENT_LIST_DIR}/libs/libwebp")
27 changes: 27 additions & 0 deletions data/data_holder.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
/*
* Created by uriel on 17/03/21.
* This is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright (c) Uriel Castro, 2021-2021.
*/

#include "data_holder.h"

DataHolder::DataHolder(const uint32_t quality, const uint32_t method, const bool min_size, const uint32_t width,
const uint32_t height) {
DataHolder::mQuality = quality;
DataHolder::mMethod = method;
DataHolder::mMin_size = min_size;
DataHolder::mWidth = width;
DataHolder::mHeight = height;
}

DataHolder::~DataHolder() = default;

uint32_t DataHolder::mQuality;
uint32_t DataHolder::mMethod;
bool DataHolder::mMin_size;
uint32_t DataHolder::mWidth;
uint32_t DataHolder::mHeight;

25 changes: 25 additions & 0 deletions data/data_holder.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
/*
* Created by uriel on 17/03/21.
* This is licensed under GNU GPL v. 2 or later.
* You should have received a copy of the license in this archive (see LICENSE).
*
* Copyright (c) Uriel Castro, 2021-2021.
*/

#ifndef TGS2ANIMATED_DATA_HOLDER_H
#define TGS2ANIMATED_DATA_HOLDER_H

#include <cstdint>
#include <iostream>

class DataHolder {
public:
explicit DataHolder(uint32_t quality, uint32_t method, bool min_size, uint32_t width, uint32_t height);
~DataHolder();
static uint32_t mQuality;
static uint32_t mMethod;
static bool mMin_size;
static uint32_t mWidth;
static uint32_t mHeight;
};
#endif //TGS2ANIMATED_DATA_HOLDER_H
47 changes: 47 additions & 0 deletions libs/libwebp/AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
Contributors:
- Aidan O'Loan (aidanol at gmail dot com)
- Alan Browning (browning at google dot com)
- Charles Munger (clm at google dot com)
- Cheng Yi (cyi at google dot com)
- Christian Duvivier (cduvivier at google dot com)
- Djordje Pesut (djordje dot pesut at imgtec dot com)
- Hui Su (huisu at google dot com)
- Ingvar Stepanyan (rreverser at google dot com)
- James Zern (jzern at google dot com)
- Jan Engelhardt (jengelh at medozas dot de)
- Jehan (jehan at girinstud dot io)
- Johann Koenig (johann dot koenig at duck dot com)
- Jovan Zelincevic (jovan dot zelincevic at imgtec dot com)
- Jyrki Alakuijala (jyrki at google dot com)
- Konstantin Ivlev (tomskside at gmail dot com)
- Lode Vandevenne (lode at google dot com)
- Lou Quillio (louquillio at google dot com)
- Mans Rullgard (mans at mansr dot com)
- Marcin Kowalczyk (qrczak at google dot com)
- Martin Olsson (mnemo at minimum dot se)
- Mikołaj Zalewski (mikolajz at google dot com)
- Mislav Bradac (mislavm at google dot com)
- Nico Weber (thakis at chromium dot org)
- Noel Chromium (noel at chromium dot org)
- Oliver Wolff (oliver dot wolff at qt dot io)
- Owen Rodley (orodley at google dot com)
- Parag Salasakar (img dot mips1 at gmail dot com)
- Pascal Massimino (pascal dot massimino at gmail dot com)
- Paweł Hajdan, Jr (phajdan dot jr at chromium dot org)
- Pierre Joye (pierre dot php at gmail dot com)
- Sam Clegg (sbc at chromium dot org)
- Scott Hancher (seh at google dot com)
- Scott LaVarnway (slavarnway at google dot com)
- Scott Talbot (s at chikachow dot org)
- Slobodan Prijic (slobodan dot prijic at imgtec dot com)
- Somnath Banerjee (somnath dot banerjee at gmail dot com)
- Sriraman Tallam (tmsriram at google dot com)
- Tamar Levy (tamar dot levy at intel dot com)
- Timothy Gu (timothygu99 at gmail dot com)
- Urvang Joshi (urvang at google dot com)
- Vikas Arora (vikasa at google dot com)
- Vincent Rabaud (vrabaud at google dot com)
- Vlad Tsyrklevich (vtsyrklevich at chromium dot org)
- Wan-Teh Chang (wtc at google dot com)
- Yang Zhang (yang dot zhang at arm dot com)
- Yannis Guyon (yguyon at google dot com)
Loading

0 comments on commit 17ec5b7

Please sign in to comment.