From a20fde1615b9101dd304462f6e0c3fb62f983402 Mon Sep 17 00:00:00 2001 From: madeinfree Date: Fri, 29 Oct 2021 10:47:38 +0800 Subject: [PATCH] docs(README): add what is done * add what is done --- README.md | 52 ++++++++++++++-------------------------------------- 1 file changed, 14 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index ea7db77..9110554 100644 --- a/README.md +++ b/README.md @@ -1,57 +1,33 @@ # GoHeif - A go gettable decoder/converter for HEIC based on libde265 ## Install -- `heic2jpg` to convert HEIC files to JPG preserving exif -``` go get github.com/jdeng/goheif/...``` +- `heic2jpg` to convert HEIC files to JPG preserving exif + +```bash +go get https://github.com/yosgo-opensource/goheif +``` - Tested - - Mac OS X (High Sierra) + + - Mac OS X (High Sierra) - Linux (Ubuntu 16.04 / GCC 5.4) - Windows 7 64bit with TDM-GCC 32 (GCC 5.1) and golang 1.12 windows/386 - Code Sample + ``` func main() { - flag.Parse() - ... - - fin, fout := flag.Arg(0), flag.Arg(1) - fi, err := os.Open(fin) - if err != nil { - log.Fatal(err) - } - defer fi.Close() - - exif, err := goheif.ExtractExif(fi) - if err != nil { - log.Printf("Warning: no EXIF from %s: %v\n", fin, err) - } - - img, err := goheif.DecodeImage(fi) - if err != nil { - log.Fatalf("Failed to parse %s: %v\n", fin, err) - } - - fo, err := os.OpenFile(fout, os.O_RDWR|os.O_CREATE, 0644) - if err != nil { - log.Fatalf("Failed to create output file %s: %v\n", fout, err) - } - defer fo.Close() - - w, _ := newWriterExif(fo, exif) - err = jpeg.Encode(w, img, nil) - if err != nil { - log.Fatalf("Failed to encode %s: %v\n", fout, err) - } - - log.Printf("Convert %s to %s successfully\n", fin, fout) + goheif.Decode(file) } ``` ## What is done +- Fixed MAX_PREFIX warning + - Changes make to @bradfitz's (https://github.com/bradfitz) golang heif parser + - Some minor bugfixes - A few new box parsers, noteably 'iref' and 'hvcC' @@ -66,11 +42,11 @@ func main() { - goheif.go, libde265 golang binding and the `heic2jpg` utility are in MIT license ## Credits + - heif parser by @bradfitz (https://github.com/go4org/go4/tree/master/media/heif) - libde265 (https://github.com/strukturag/libde265) - implementation learnt from libheif (https://github.com/strukturag/libheif) ## TODO -- Upstream the changes to heif? - +- Upstream the changes to heif?