Project title: Implement lossless JPG transformations
Brief summary: The project aims to add picture editing capabilities with lossless transformations to the app:
- Lossless crop.
- Lossless blur: JPG images are made of many 8x8 pixel blocks. The idea here is to blur only the JPG blocks showing what the users wants to blur, without recompressing the other blocks.
- Option to automatically blur people faces and car number plates.
Relevant GitHub issue: https://github.com/commons-app/apps-android-commons/issues/1192
Expected outcomes: Ability to crop, blur faces/number plates/etc for privacy reasons, etc. with lossless transformations.
Skills required/preferred: Strong Android fundamentals, Kotlin. No prior knowledge of JPG format required.
Possible mentors: @Nicolas_Raoul (past maintainer), @RitikaPahwa4444 (current maintainer)
Expected size of the project: 350 hours
Rating: Medium
Microtasks: Please read gsoc.md which guides you on how to choose an issue and perform a microtask.
Any other additional information for contributors: https://github.com/commons-app/apps-android-commons
Why are you proposing this project? Image editing features within the app will help the users to upload images directly from the app without worrying about people's privacy by blurring/cropping a few parts of the picture. Compared to using a third-party app, the transformations will be done the right way and without unncessary loss of information nor increase in file size.
What is the expected impact? Higher contribution rates from the app as these editing features will remove significant friction.