mirror of
https://github.com/simon987/libscan.git
synced 2025-04-21 19:26:43 +00:00
Compare commits
No commits in common. "8ed4c943141876970e8761993915cfb48df3f189" and "42d5f09839c8129d604280ef35d9363dc5721f77" have entirely different histories.
8ed4c94314
...
42d5f09839
@ -31,6 +31,7 @@ add_library(
|
|||||||
set_target_properties(scan PROPERTIES LINKER_LANGUAGE C)
|
set_target_properties(scan PROPERTIES LINKER_LANGUAGE C)
|
||||||
|
|
||||||
set(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib .so)
|
set(CMAKE_FIND_LIBRARY_SUFFIXES .a .lib .so)
|
||||||
|
target_link_directories(scan PUBLIC /usr/share/vcpkg/installed/x64-linux/lib/)
|
||||||
|
|
||||||
find_package(LibArchive REQUIRED)
|
find_package(LibArchive REQUIRED)
|
||||||
find_package(BZip2 REQUIRED)
|
find_package(BZip2 REQUIRED)
|
||||||
@ -41,6 +42,8 @@ find_package(Tesseract CONFIG REQUIRED)
|
|||||||
find_package(OpenJPEG CONFIG REQUIRED)
|
find_package(OpenJPEG CONFIG REQUIRED)
|
||||||
find_package(JPEG REQUIRED)
|
find_package(JPEG REQUIRED)
|
||||||
find_package(LibXml2 REQUIRED)
|
find_package(LibXml2 REQUIRED)
|
||||||
|
find_package(FFMPEG REQUIRED)
|
||||||
|
#find_package(OpenSSL REQUIRED)
|
||||||
find_package(LibLZMA REQUIRED)
|
find_package(LibLZMA REQUIRED)
|
||||||
find_package(ZLIB REQUIRED)
|
find_package(ZLIB REQUIRED)
|
||||||
|
|
||||||
@ -55,7 +58,7 @@ find_library(MUPDF_LIB NAMES liblibmupdf.a)
|
|||||||
find_library(CMS_LIB NAMES lcms)
|
find_library(CMS_LIB NAMES lcms)
|
||||||
find_library(JAS_LIB NAMES jasper)
|
find_library(JAS_LIB NAMES jasper)
|
||||||
find_library(GUMBO_LIB NAMES gumbo)
|
find_library(GUMBO_LIB NAMES gumbo)
|
||||||
find_library(GOMP_LIB NAMES libgomp.a gomp PATHS /usr/lib/gcc/x86_64-linux-gnu/5/ /usr/lib/gcc/x86_64-linux-gnu/9/ /usr/lib/gcc/x86_64-linux-gnu/10/ /usr/lib/gcc/aarch64-linux-gnu/7/ /usr/lib/gcc/x86_64-linux-gnu/7/)
|
find_library(GOMP_LIB NAMES libgomp.a gomp PATHS /usr/lib/gcc/x86_64-linux-gnu/5/ /usr/lib/gcc/x86_64-linux-gnu/9/ /usr/lib/gcc/x86_64-linux-gnu/10/ /usr/lib/gcc/aarch64-linux-gnu/7/)
|
||||||
|
|
||||||
|
|
||||||
target_compile_options(
|
target_compile_options(
|
||||||
@ -109,7 +112,6 @@ ExternalProject_Add(
|
|||||||
)
|
)
|
||||||
|
|
||||||
SET(FFMPEG_LIB_DIR ${CMAKE_CURRENT_BINARY_DIR}/third-party/ext_ffmpeg/src/ffmpeg)
|
SET(FFMPEG_LIB_DIR ${CMAKE_CURRENT_BINARY_DIR}/third-party/ext_ffmpeg/src/ffmpeg)
|
||||||
SET(FFMPEG_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/third-party/ext_ffmpeg/src/ffmpeg)
|
|
||||||
|
|
||||||
add_dependencies(
|
add_dependencies(
|
||||||
scan
|
scan
|
||||||
|
@ -18,13 +18,12 @@ typedef struct {
|
|||||||
int tn_size;
|
int tn_size;
|
||||||
float tn_qscale;
|
float tn_qscale;
|
||||||
long max_media_buffer;
|
long max_media_buffer;
|
||||||
int read_subtitles;
|
|
||||||
} scan_media_ctx_t;
|
} scan_media_ctx_t;
|
||||||
|
|
||||||
__always_inline
|
__always_inline
|
||||||
static AVCodecContext *alloc_jpeg_encoder(int w, int h, float qscale) {
|
static AVCodecContext *alloc_jpeg_encoder(int w, int h, float qscale) {
|
||||||
|
|
||||||
const AVCodec *jpeg_codec = avcodec_find_encoder(AV_CODEC_ID_MJPEG);
|
AVCodec *jpeg_codec = avcodec_find_encoder(AV_CODEC_ID_MJPEG);
|
||||||
AVCodecContext *jpeg = avcodec_alloc_context3(jpeg_codec);
|
AVCodecContext *jpeg = avcodec_alloc_context3(jpeg_codec);
|
||||||
jpeg->width = w;
|
jpeg->width = w;
|
||||||
jpeg->height = h;
|
jpeg->height = h;
|
||||||
@ -44,7 +43,6 @@ static AVCodecContext *alloc_jpeg_encoder(int w, int h, float qscale) {
|
|||||||
|
|
||||||
|
|
||||||
void parse_media(scan_media_ctx_t *ctx, vfile_t *f, document_t *doc);
|
void parse_media(scan_media_ctx_t *ctx, vfile_t *f, document_t *doc);
|
||||||
|
|
||||||
void init_media();
|
void init_media();
|
||||||
|
|
||||||
int store_image_thumbnail(scan_media_ctx_t *ctx, void* buf, size_t buf_len, document_t *doc, const char *url);
|
int store_image_thumbnail(scan_media_ctx_t *ctx, void* buf, size_t buf_len, document_t *doc, const char *url);
|
||||||
|
@ -374,36 +374,6 @@ TEST(MediaImage, Mem2AsIs) {
|
|||||||
cleanup(&doc, &f);
|
cleanup(&doc, &f);
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(MediaVideo, VidMkvSubDisabled) {
|
|
||||||
vfile_t f;
|
|
||||||
document_t doc;
|
|
||||||
load_doc_file("libscan-test-files/test_files/media/berd.mkv", &f, &doc);
|
|
||||||
|
|
||||||
size_t size_before = store_size;
|
|
||||||
parse_media(&media_ctx, &f, &doc);
|
|
||||||
|
|
||||||
ASSERT_NE(size_before, store_size);
|
|
||||||
ASSERT_EQ(get_meta(&doc, MetaContent), nullptr);
|
|
||||||
|
|
||||||
cleanup(&doc, &f);
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(MediaVideo, VidMkvSubEnabled) {
|
|
||||||
vfile_t f;
|
|
||||||
document_t doc;
|
|
||||||
load_doc_file("libscan-test-files/test_files/media/berd.mkv", &f, &doc);
|
|
||||||
|
|
||||||
size_t size_before = store_size;
|
|
||||||
media_ctx.read_subtitles = TRUE;
|
|
||||||
parse_media(&media_ctx, &f, &doc);
|
|
||||||
media_ctx.read_subtitles = FALSE;
|
|
||||||
|
|
||||||
ASSERT_NE(size_before, store_size);
|
|
||||||
ASSERT_NE(get_meta(&doc, MetaContent), nullptr);
|
|
||||||
|
|
||||||
cleanup(&doc, &f);
|
|
||||||
}
|
|
||||||
|
|
||||||
TEST(MediaVideo, Vid3Mp4) {
|
TEST(MediaVideo, Vid3Mp4) {
|
||||||
vfile_t f;
|
vfile_t f;
|
||||||
document_t doc;
|
document_t doc;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user