Fennec/Features/imgscale

From MozillaWiki
Jump to: navigation, search
Please use "Edit with form" above to edit this page.

Status

High-quality image scaling
Stage Landed
Status Complete
Release target Firefox 7
Health OK
Status note Landed in Firefox 6 for NEON devices, and in Firefox 7 for non-NEON (Tegra) devices.

Team

Product manager Thomas Arend
Directly Responsible Individual Jeff
Lead engineer Matt Brubeck
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead Andreea Pod [e-mail]
UX lead `
Product marketing lead `
Operations lead `
Additional members `

Open issues/risks

`

Stage 1: Definition

1. Feature overview

Mobile Firefox 5 and earlier always used nearest-neighbor interpolation because its high-quality scaling algorithms weren't fast enough to keep up with fast scrolling or zooming on ARM-based mobile hardware. This feature is about switching to high-quality image scaling while balancing the impact on page rendering speed.

Firefox 6 (currently on the beta channel) now has a high-quality "bilinear" interpolation algorithm implemented in optimized assembly using NEON, a SIMD instruction set supported by most recent ARM cores except for the Nvidia Tegra core found in the most other Honeycomb tablets, and also some recent high-end phones). Images look much nicer in Firefox 6 on most current Android phones, but not on Tegra-based tablets or phones. For some details, see bug 598736.

For Tegra devices like the Xoom, we don't have fast bilinear interpolation code. On the Aurora channel for Firefox 7 we are switching to bilinear scaling anyway; this makes images look nicer but the also take longer to render when scrolling or zooming. See bug 669851 for discussion of this change.

It may also be possible to do high-quality scaling on all devices without regressing our rendering speed, either by writing separate optimized ARM code for Tegra devices, or by turning on OpenGL accelaration and doing image scaling on the GPU bug 650988.

2. Users & use cases

`

3. Dependencies

`

4. Requirements

`

Non-goals

`

Stage 2: Design

5. Functional specification

`

6. User experience design

`

Stage 3: Planning

7. Implementation plan

`

8. Reviews

Security review

`

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

Operations review

`

Stage 4: Development

9. Implementation

Stage 5: Release

10. Landing criteria

`


Feature details

Priority P1
Rank 999
Theme / Goal Experience
Roadmap Firefox Mobile
Secondary roadmap `
Feature list Mobile
Project `
Engineering team Graphics

Team status notes

  status notes
Products ` `
Engineering ` `
Security fuzzing fuzzing?
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` `
User experience ` `
Product marketing ` `
Operations ` `