mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[performance] move thumbnail generation to go code where possible (#3183)
* wrap thumbnailing code to handle generation natively where possible * more code comments! * add even more code comments! * add code comments about blurhash generation * maintain image rotation if contained in exif data * move rotation before resizing * ensure pix_fmt actually selected by ffprobe, check for alpha layer with gifs * use linear instead of nearest-neighbour for resizing * work with image "orientation" instead of "rotation". use default 75% quality for both webp and jpeg generation * add header to new file * use thumb extension when getting thumb mime type * update test models and tests with new media processing * add suggested code comments * add note about thumbnail filter count reducing memory usage
This commit is contained in:
@@ -47,9 +47,14 @@ func clearMetadata(ctx context.Context, filepath string) error {
|
||||
// cleaning exif data using a native Go library.
|
||||
log.Debug(ctx, "cleaning with exif-terminator")
|
||||
err := terminateExif(outpath, filepath, ext)
|
||||
if err != nil {
|
||||
return err
|
||||
if err == nil {
|
||||
// No problem.
|
||||
break
|
||||
}
|
||||
|
||||
log.Warnf(ctx, "error cleaning with exif-terminator, falling back to ffmpeg: %v", err)
|
||||
fallthrough
|
||||
|
||||
default:
|
||||
// For all other types, best-effort clean with ffmpeg.
|
||||
log.Debug(ctx, "cleaning with ffmpeg -map_metadata -1")
|
||||
|
Reference in New Issue
Block a user