Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Animated PNG support #402

Closed
lpstandardrp opened this issue Nov 15, 2022 · 5 comments
Closed

Animated PNG support #402

lpstandardrp opened this issue Nov 15, 2022 · 5 comments
Labels
codec collection model P2 random bugs & feature requests type:feature New feature or request waiting-for-dependency Enjoying Beckett?

Comments

@lpstandardrp
Copy link

lpstandardrp commented Nov 15, 2022

I <3 Aves(!!)
Preface: I have no idea how prominent apng fikes are, so this (requested) feature may be of little value or urgency– at least relative to other tasks (potential or otherwise) on the Aves roadmap. I do not know how useful or important supporting showing the animation of apng files is.
Until today, I did not know animated PNG ('apng') files existed– if I have any apng files I would not know it if viewing them in Aves... MiXplorer shows the animation. *(this observation is continued at very bottom of this post in "additional context" titled: "apng metadata" )

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is.
Ex.
Opening an animated png ('apng') shows only the first frame (no animation) in Aves.. Its an image, not a video.
Aves shows a picture (not a motion picture), like a photograph (not a movie), or a single frame of a film (not the film like you'd watch in the theatre, youtube, etc. as it is intended- a sequence of images/'frames' played sequentially)

Describe the solution you'd like
Animated PNG shows as animated when open in Aves

Describe alternatives you've considered
I just realized this may only be a possible function in browsers... I am not a developer and have not read up on Animated PNGs (yet... in case it is possible I will open this feature request and then will retuen to close it/clarify apng support seems not possible outside of browsers.

Also, other image viewer/gallery/metadata apps may support viewing; i have yet to try (I came here firat because I Lerrrv (love) Aves).

Additional context
Tinypng.com's github - tinify/iMessage-Panda-sticker - which has info on apng, and some examples of apng files (IIRC)
APNG downloaded from tinify/iMessage-Panda-sticker [Link below]
20221114 Optimised APNG - panda
Direct Links to the two apng examples:
Panda Optimized / Compressed ~.5 MB (Attached above)
Panda Original 1.5MB
Maybe tinypng.com (they seem to have some good info on png files, including apng, as well as linjk to some seemingly useful|cool|valuable resources, api, third-party extensions, etc.)

"apng metadata" - *(continued from "preface" (very top of thia post)) - observations and thoughts

It seems the metadata shows exactly the same in Aves and MiXplorer (metadata attached below at very bottom of thia post)
I dont know if this metadata indicates apng– at first glance I see nothing obvious in the metadata in Aves (and MiXplorer) tgat might indicate apng (i need to do more research maybe tonunderstand apng metadata) .. nothing jumps out at me as a clear indication of "oh, this is an apng file!"...
This may be relevant if choosing not to include animations of apng in Aves... to optionally include an indication that the file is apng, perhaps via a visual apng 'tag' somewhere like:
20221114 apng ex Aves
in case the formal metadata for apng files is inherently unclear (to persons like nyself)

Mixplorer metadata:

[PNG-IHDR]
Image Width: 295
Image Height: 256
Bits Per Sample: 8
Color Type: Indexed Color
Compression Type: Deflate
Filter Method: Adaptive
Interlace Method: No Interlace

[PNG-PLTE]
Palette Size: 256

[PNG-tRNS]
Palette Has Transparency: Yes

[File Type]
Detected File Type Name: PNG
Detected File Type Long Name: Portable Network Graphics
Detected MIME Type: image/png
Expected File Name Extension: png

Aves Metadata:
20221114 01
20221114 02

20221114 03 Aves

[*EDIT]:
Aves Metadata:
PNG-IHDR
Bits Per Sample
8

Color Type
Indexed Color

Compression Type
Deflate

Filter Method
Adaptive

Image Height
256

Image Width
295

Interlace Method
No 1nterlace

PNG-PLTE
Palette Size 256

PNG-TRNS
Palette Has Transparency Yes

*EDIT: Added Aves metadata (in text format).
I had to OCR the screenshots of Aves metadata. MiXplorer has a "copy" metadata option. Aves does not (unless I'm mistaken); "copy metadata" might be a handy feature in Aves!

@lpstandardrp lpstandardrp added the type:feature New feature or request label Nov 15, 2022
@deckerst
Copy link
Owner

Thanks for the well documented feature request!

  1. detecting APNG and marking them with the appropriate filters

As you rightly noticed, nothing from the metadata indicates whether a PNG is animated. I'd need to take a look at the APNG format spec.

If I can detect it, the item in Aves would then be marked with the Animated filter. Just like animated GIF and WEBP items are today.

  1. playing APNG animation

This is up to Flutter, the framework Aves uses. There's already an issue for it:

It would be nice if Aves supported APNG playback, but I don't think these files are common (I've personally never encountered one) so it's low priority. The Flutter issue has been open for years, so don't hold your breath.

  1. copying metadata

Good suggestion. I'll try and provide some basic export to text file. Cf issue:

@deckerst deckerst added collection model P3 valid issue to be addressed in the future codec waiting-for-dependency Enjoying Beckett? labels Nov 15, 2022
@deckerst
Copy link
Owner

It's happening!

I suppose this will be included in the next stable release of Flutter, so in about 3 months.

@deckerst deckerst added P2 random bugs & feature requests and removed P3 valid issue to be addressed in the future labels Mar 3, 2023
@jhonatan-3a
Copy link

is this already in stable or master?

@deckerst
Copy link
Owner

Not on stable yet.

@deckerst
Copy link
Owner

Support comes with Flutter v3.10.0, released a couple of days ago, and now integrated in Aves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
codec collection model P2 random bugs & feature requests type:feature New feature or request waiting-for-dependency Enjoying Beckett?
Projects
None yet
Development

No branches or pull requests

3 participants