use `utf_16_be` as primary metadata decoding

Signed-off-by: Vladimir Mandic <mandic00@live.com>
pull/4115/head
Vladimir Mandic 2025-08-08 07:36:11 -04:00
parent c0b8c4e2cb
commit 9ef6baf2ed
4 changed files with 9 additions and 9 deletions

View File

@ -1,12 +1,8 @@
# Change Log for SD.Next
## Blockers
## Update for 2025-08-08
- Qwen with offloading: <https://github.com/huggingface/diffusers/issues/12066>
## Update for 2025-08-07
### Highlights for 2025-08-07
### Highlights for 2025-08-08
Several new and updated models: [Qwen-Image](https://qwenlm.github.io/blog/qwen-image/), [FLUX.1-Krea-Dev](https://www.krea.ai/blog/flux-krea-open-source-release), [Chroma](https://huggingface.co/lodestones/Chroma), [SkyReels-V2](https://huggingface.co/Skywork/SkyReels-V2-DF-14B-720P-Diffusers), [Wan-VACE](https://huggingface.co/Wan-AI/Wan2.1-VACE-14B-diffusers)
Plus continuing with major **UI** work, there is new embedded **Docs/Wiki** search, redesigned real-time **hints**, built-in **GPU monitor**, **CivitAI** integration and more!
@ -106,6 +102,7 @@ And (*as always*) many bugfixes and improvements to existing features!
- fix openvino backend failing to compile
- fix nunchaku fallback on unsupported model
- fix nunchaku windows download links
- use `utf_16_be` as primary metadata decoding
- reapply offloading on ipadapter load
- api set default script-name
- avoid forced gc and rely on thresholds

View File

@ -64,7 +64,10 @@ class Exif: # pylint: disable=single-string-used-for-slots
def decode(self, s: bytes):
remove_prefix = lambda text, prefix: text[len(prefix):] if text.startswith(prefix) else text # pylint: disable=unnecessary-lambda-assignment
for encoding in ['utf-8', 'utf-16', 'ascii', 'latin_1', 'cp1252', 'cp437']: # try different encodings
# from encodings.aliases import aliases
# cp = list(set(aliases.values()))
for encoding in ['utf_16_be', 'utf-8', 'utf-16', 'ascii', 'latin_1', 'cp1252', 'cp437']: # try different encodings
# for encoding in cp:
try:
s = remove_prefix(s, b'UNICODE')
s = remove_prefix(s, b'ASCII')

View File

@ -593,7 +593,7 @@ def check_diffusers():
t_start = time.time()
if args.skip_all or args.skip_git:
return
sha = '7ea065c5070a5278259e6f1effa9dccea232e62a' # diffusers commit hash
sha = '7b10e4ae65cc5830c581fba58638f5afb6e587cf' # diffusers commit hash
pkg = pkg_resources.working_set.by_key.get('diffusers', None)
minor = int(pkg.version.split('.')[1] if pkg is not None else -1)
cur = opts.get('diffusers_version', '') if minor > -1 else ''

View File

@ -218,7 +218,7 @@ def save_image(image,
def safe_decode_string(s: bytes):
remove_prefix = lambda text, prefix: text[len(prefix):] if text.startswith(prefix) else text # pylint: disable=unnecessary-lambda-assignment
for encoding in ['utf-8', 'utf-16', 'ascii', 'latin_1', 'cp1252', 'cp437']: # try different encodings
for encoding in ['utf_16_be', 'utf-8', 'utf-16', 'ascii', 'latin_1', 'cp1252', 'cp437']: # try different encodings
try:
s = remove_prefix(s, b'UNICODE')
s = remove_prefix(s, b'ASCII')