Summary:
After trying convert to split very large image and running out of
memory, this few line of code did seems like the best solution. Maybe
there is some benefit to try to make Ecore_Evas_Convert more useful.
Reviewers: zmike, raster, segfaultxavi
Reviewed By: segfaultxavi
Subscribers: #reviewers, #committers
Tags: #efl
Differential Revision: https://phab.enlightenment.org/D9337
I did that originally to implement a slightly nice way for
Ctrl+C to work. But it was clearly a hack (as mentioned in
the comments), and stopped working since domains were
introduced.
Should we rename this standalone tool as "efl_image_convert",
or even just "efl_convert"?
Problem: evas_object_image_save() can't be interrupted.
But, with ETC1/ETC2 encoding, it might be terribly long and
the user has no way to cancel encoding (except SIGKILL).
The proper solution would be to tell evas that the save
operation has been cancelled. And run that in a thread,
in a non-blocking way. I guess Efl.File.async could be
used for that, which means maybe also introduce
Efl.File.async_cancel? This will have to wait for
EFL 1.15 I'm afraid.
Note: edje_cc still can't be cancelled during ETC encoding.
ecore_evas_convert: Add -e/--encoding option
This uses directly the encoding parameter.
For now, used only by the TGV saver, but there is no other way
to specify between ETC1 and ETC2. And we don't have a mixed ETC1+2
mode (yet).
@feature
Quality should not default to 100 unless specified in the
command line. In particular, we don't want to save ETC1 at
high quality by default since it can take hours (literally).