Closed Bug 1052742 Opened 10 years ago Closed 10 years ago

[Camera][Flame] Video mode has 100% extra overdraw than picture mode

Categories

(Firefox OS Graveyard :: Gaia::Camera, defect)

ARM
Gonk (Firefox OS)
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1052857

People

(Reporter: justindarc, Assigned: justindarc)

References

Details

On Flame, the video mode of the Camera app uses an extra 100% overdraw than the picture mode. This seems to be related to the previewSize being higher in video mode.
What I've found is that having a larger preview video source stream causes a higher overdraw number:

`previewSize` | Overdraw (master) | Overdraw (v2.0)
----------------------------------------------------
1280 x 720    | 747               | 441
 864 x 480    | 623               | 317
 800 x 480    | 616               | 310
 768 x 432    | 603               | 297
 720 x 480    | 607               | 300
 640 x 480    | 597               | 291
 576 x 432    | 583               | 277
 480 x 320    | 560               | 254
 384 x 288    | 549               | 243
 352 x 288    | 547               | 241
 320 x 240    | 541               | 235
 240 x 160    | 532               | 226
 176 x 144    | 528               | 222

In the Camera app, the video mode must always have a `previewSize` that matches the resolution of the recorder profile (in the case of the Flame, this would be 720p). Therefore, these overdraw numbers were obtained while the Camera was in picture mode. However, when setting `previewSize` to 1280x720 in picture mode, the overdraw was exactly the same as it was in video mode (since the recorder profile was set to 720p). So, the issue here is *NOT* picture vs. video mode. The issue is the resolution of the video source in the viewfinder's <video> element.

To get these numbers, open "Console" using WebIDE/App Manager and run the following JS snippet:

```
var mc = app.camera.mozCamera;
var cap = mc.capabilities;
var cfg = app.camera.mozCameraConfig;
function setPreviewSize(i) {
  cfg.previewSize = cap.previewSizes[i];
  mc.setConfiguration(cfg);
  console.log(cfg.previewSize);
}
```

Then, to switch `previewSize`:

```
setPreviewSize(0);
setPreviewSize(1);
...
setPreviewSize(12);
```

NOTE: To be able to open the JS console up in WebIDE/App Manager for the Camera app, you need to flip a flag on your device's config:

```
adb shell "stop b2g"
adb shell "cd /data/b2g/mozilla/*.default/;echo 'user_pref(\"devtools.debugger.forbid-certified-apps\", false);' >> prefs.js;"
adb shell "start b2g"
```

BenWa mentioned on IRC that this correlation might mean that the calculation for "overdraw" might need adjusted. Flagging NI?
Flags: needinfo?(bgirard)
Depends on: 1052857
Blocks: 1049198
Assignee: nobody → jdarcangelo
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
Correction landed in bug https://bugzilla.mozilla.org/show_bug.cgi?id=1052857.
Flags: needinfo?(bgirard)
You need to log in before you can comment on or make changes to this bug.