Add Olympus ORF support
This commit is contained in:
parent
a4fd94b90f
commit
c31d0bc695
|
@ -11,6 +11,7 @@ The following RAW formats are currently supported:
|
|||
| Canon Raw 2 | `.cr2` | [dcraw](https://www.dechifro.org/dcraw/) |
|
||||
| Canon Raw 3 | `.cr3` | [exiftool](https://exiftool.org/) |
|
||||
| Fujifilm RAF | `.raf` | [dcraw](https://www.dechifro.org/dcraw/) |
|
||||
| Olympus ORF | `.orf` | [dcraw](https://www.dechifro.org/dcraw/) |
|
||||
|
||||
### Installation
|
||||
- Depending on the RAW file format, different dependencies are required. Please see the list above and install the required dependencies.
|
||||
|
|
|
@ -10,13 +10,19 @@ from vimiv.utils import log
|
|||
|
||||
_logger = log.module_logger(__name__)
|
||||
|
||||
|
||||
def test_raf(header: bytes, _f: BinaryIO) -> bool:
|
||||
return header[:15] == b"FUJIFILMCCD-RAW"
|
||||
|
||||
|
||||
def test_cr2(header: bytes, _f: BinaryIO) -> bool:
|
||||
return header[:2] in (b"II", b"MM") and header[8:10] == b"CR"
|
||||
|
||||
|
||||
def test_orf(header: bytes, _f: BinaryIO) -> bool:
|
||||
return header[:4] == b"IIRO"
|
||||
|
||||
|
||||
@lru_cache(maxsize=40)
|
||||
def load_cr2(path) -> QPixmap:
|
||||
"""Extract the thumbnail from the image and initialize QPixmap"""
|
||||
|
@ -128,5 +134,6 @@ def init(info: str, *_args: Any, **_kwargs: Any) -> None:
|
|||
api.add_external_format("raf", test_raf, load_cr2)
|
||||
api.add_external_format("cr2", test_cr2, load_cr2)
|
||||
api.add_external_format("cr3", test_cr3, load_cr3)
|
||||
api.add_external_format("orf", test_orf, load_cr2)
|
||||
|
||||
_logger.debug("Initialized RawPrev")
|
||||
|
|
Loading…
Reference in New Issue