Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Issue 269106: -fPIC buildable version of yuv for 64 bit linux. (Closed)

Created:
11 years, 2 months ago by fbarchard
Modified:
9 years, 7 months ago
CC:
chromium-reviews_googlegroups.com, scherkus (not reviewing), fbarchard, Alpha Left Google
Visibility:
Public.

Description

-fPIC buildable version of yuv for 64 bit linux. BUG=25070 TEST=add -fPIC to gcc. Old code failed to build. New code builds with 64 bit. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=29329

Patch Set 1 #

Patch Set 2 : '' #

Total comments: 8

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+106 lines, -97 lines) Patch
M media/base/yuv_row_linux.cc View 1 2 3 4 5 8 chunks +106 lines, -97 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
fbarchard
64 bit buildable with -fPIC
11 years, 2 months ago (2009-10-16 18:55:42 UTC) #1
awong
Adding Mark to verify this doesn't break any subtle assumptions.
11 years, 2 months ago (2009-10-16 18:58:22 UTC) #2
awong
LGTM. Misread the change description...I thought we were thinking of adding -fPIC into our build ...
11 years, 2 months ago (2009-10-16 19:27:10 UTC) #3
Mark Mentovai
LG otherwise http://codereview.chromium.org/269106/diff/3001/3002 File media/base/yuv_row_linux.cc (right): http://codereview.chromium.org/269106/diff/3001/3002#newcode251 Line 251: const uint8* u_buf, // rsi This ...
11 years, 2 months ago (2009-10-16 19:30:54 UTC) #4
fbarchard
11 years, 2 months ago (2009-10-16 20:11:27 UTC) #5
fixed alignment/comments.
Changed code to use one table instead of 3.
The scale function uses more registers than there are 'temporaries' and had to
push some on the stack.
Using one table, like the Mac does, uses only one register.
Original performance was 302 ms
3 pointer version is 333 ms
1 pointer version is 326 ms
A 7.9% slowdown compared to the original, but still substantially faster than 32
bit, which is about 400ms or C code that is 1200 ms
The non-scaled version has more registers free, so no slowdown.

Powered by Google App Engine
This is Rietveld 408576698