mirror of
https://github.com/mickael-kerjean/filestash.git
synced 2026-10-19 16:14:39 +00:00
Merge branch 'master' of ssh://github.com/mickael-kerjean/filestash
This commit is contained in:
@@ -72,7 +72,7 @@
|
||||
# The core idea
|
||||
|
||||
Filestash started as an attempt to solve the Dropbox problem by abstracting the storage aspect so you can "bring your own backend" by implementing this interface:
|
||||
```
|
||||
```go
|
||||
type IBackend interface {
|
||||
Init(params map[string]string, app *App) (IBackend, error) // constructor
|
||||
Ls(path string) ([]os.FileInfo, error) // list files in a folder
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package plg_image_c
|
||||
|
||||
// #include "image_heif.h"
|
||||
// #cgo LDFLAGS: -L /usr/local/lib -L /usr/lib -L /lib -lheif
|
||||
// #cgo CFLAGS: -I /usr/local/include
|
||||
import "C"
|
||||
|
||||
func heif(input uintptr, output uintptr, size int) {
|
||||
C.heif_to_jpeg(C.int(input), C.int(output), C.int(size))
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package plg_image_c
|
||||
|
||||
// #include "image_heif.h"
|
||||
// #cgo LDFLAGS: -lheif
|
||||
import "C"
|
||||
|
||||
func heif(input uintptr, output uintptr, size int) {
|
||||
C.heif_to_jpeg(C.int(input), C.int(output), C.int(size))
|
||||
return
|
||||
}
|
||||
@@ -98,7 +98,7 @@ int jpeg_to_jpeg(int inputDesc, int outputDesc, int targetSize) {
|
||||
jpeg_config_output.image_width = jpeg_config_input.output_width;
|
||||
jpeg_config_output.image_height = jpeg_config_input.output_height;
|
||||
jpeg_config_output.input_components = jpeg_config_input.num_components;
|
||||
jpeg_config_output.in_color_space = JCS_RGB;
|
||||
jpeg_config_output.in_color_space = jpeg_config_input.out_color_space;
|
||||
jpeg_set_defaults(&jpeg_config_output);
|
||||
jpeg_set_quality(&jpeg_config_output, JPEG_QUALITY, TRUE);
|
||||
jpeg_start_compress(&jpeg_config_output, TRUE);
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
package plg_image_c
|
||||
|
||||
// #include "image_jpeg.h"
|
||||
// #cgo LDFLAGS: -L /usr/local/lib -L /usr/lib -L /lib -l:libjpeg.a
|
||||
// #cgo CFLAGS: -I /usr/local/include
|
||||
import "C"
|
||||
|
||||
func jpeg(input uintptr, output uintptr, size int) {
|
||||
C.jpeg_to_jpeg(C.int(input), C.int(output), C.int(size))
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package plg_image_c
|
||||
|
||||
// #include "image_jpeg.h"
|
||||
// #cgo LDFLAGS: -l:libjpeg.a
|
||||
import "C"
|
||||
|
||||
func jpeg(input uintptr, output uintptr, size int) {
|
||||
C.jpeg_to_jpeg(C.int(input), C.int(output), C.int(size))
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package plg_image_c
|
||||
|
||||
// #include "image_png.h"
|
||||
// #cgo LDFLAGS: -L /usr/local/lib -L /usr/lib -L /lib -l:libsharpyuv.a -l:libpng.a -l:libz.a -l:libwebp.a -l:libpthread.a -fopenmp
|
||||
// #cgo CFLAGS: -I /usr/local/include
|
||||
import "C"
|
||||
|
||||
func png(input uintptr, output uintptr, size int) {
|
||||
C.png_to_webp(C.int(input), C.int(output), C.int(size))
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package plg_image_c
|
||||
|
||||
// #include "image_png.h"
|
||||
// #cgo LDFLAGS: -l:libpng.a -l:libz.a -l:libwebp.a -fopenmp
|
||||
import "C"
|
||||
|
||||
func png(input uintptr, output uintptr, size int) {
|
||||
C.png_to_webp(C.int(input), C.int(output), C.int(size))
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package plg_image_c
|
||||
|
||||
// #include "image_raw.h"
|
||||
// #cgo LDFLAGS: -L /usr/local/lib -L /usr/lib -L /lib -l:libyuv.a -l:libjpeg.a -l:libraw.a -fopenmp -l:libc++.a -llcms2 -lm
|
||||
// #cgo CFLAGS: -I /usr/local/include
|
||||
import "C"
|
||||
|
||||
func raw(input uintptr, output uintptr, size int) {
|
||||
C.raw_to_jpeg(C.int(input), C.int(output), C.int(size))
|
||||
return
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
package plg_image_c
|
||||
|
||||
// #include "image_raw.h"
|
||||
// #cgo LDFLAGS: -l:libjpeg.a -l:libraw.a -fopenmp -l:libstdc++.a -llcms2 -lm
|
||||
import "C"
|
||||
|
||||
func raw(input uintptr, output uintptr, size int) {
|
||||
C.raw_to_jpeg(C.int(input), C.int(output), C.int(size))
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user