mikro wrote: ↑Mon Sep 25, 2023 9:58 am
@medmed: my suggestion (which you are completely free to ignore

): with your experience with the format, I'd contribute your HEIF and WEBP work as
zView or even better
ImgView/
Vision (they use the same format) plugins.
Hi Mikro,
I really understand your point of view.
But it seems that I will need to build an ldg lib for each format?
Code: Select all
struct _ldg_funcs {
boolean __CDECL ( *decoder_init) (const char *, struct _img_info *);
void __CDECL ( *decoder_quit) (struct _img_info *);
boolean __CDECL ( *decoder_read) (struct _img_info *, uint8 *);
void __CDECL ( *decoder_get_txt) (struct _img_info *, txt_data *);
void __CDECL ( *encoder_quit) (struct _img_info *);
boolean __CDECL ( *encoder_write) (struct _img_info *, uint8 *);
boolean __CDECL ( *encoder_init) (const char *, struct _img_info *);
void __CDECL ( *set_jpg_option) (int16 set_quality, int /* J_COLOR_SPACE */ set_color_space, boolean set_progressive);
void __CDECL ( *set_tiff_option) (int16 set_quality, uint16 set_encode_compression);
};
Which wasn't my goal at all:
It seems that dev community on Atari platform today is very reduced even for C.
For a newcomer, having to learn the LDG workload and how to implement a simple read or write function in an existing application wrote many years ago could be discouraged. Don't we need some refresh here

? So we have people complaining about no new software and people complaining about why don't use the ten year's old source code to adapt currents libraries in it haha...(I'm joking)
I do what I can with the motivation I have.
And what would be the added value? If there's a need then people with some time and mastering this modules logic will do the stuff (like lp did for webp).
Moreover some of this old app aren't adapted to containers images (
TIFF Multipages).
I've implemented svg format in about 30min (reading how nanosvg works), it should be the same for other format. So how much it will take to make it works in zview?
mm_pic can easily manage them. It dither images to the classic desktop palette (16/256 colors). No needs to search for an ldg somewhere, copy it to the right place. The binary size stay reasonable (less that 4mbytes). It can work without nvdi. It handles screen cropping at any resolution. It resizes, rotates and allow to export raw data for xaaes wallpaper for example (without having to enlarge an already sized image to the entire screen and press some keys crossing fingers to have some mfd file somwhere)... It's trivial to implement any formats as the engine only waits after an argb buffer so libraries examples are easy and fast to implement.
Next features I want (or dream

) will be no rsc at all & json configuration file.
It's the way I learn and increase my skill.
mikro wrote: ↑Mon Sep 25, 2023 9:58 am
And focus on H264 / AAC playback as there's a plenty of room for optimisation.
Yes agreed.
The fact is that to do so I will need to learn assembly programming + dsp programming first.
The bottleneck is aac decoding : On a raspberryPi4 Aranym JIT (BTW performances on it seems equal to V4sa) aac decode 1 second in 3 seconds so can't render anything. I've build mm_mp4 with Thorsten's libs and gcc12 and perfs seems better but not enough.
M.Medour - 1040STF, Mega STE + Spektrum card, Milan 040 + S3Video + ES1371.