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

Side by Side Diff: third_party/libwebp/dsp/lossless_mips32.c

Issue 1422493004: libwebp: update to 0.4.4 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/libwebp/dsp/enc_mips32.c ('k') | third_party/libwebp/enc/histogram.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 Google Inc. All Rights Reserved. 1 // Copyright 2014 Google Inc. All Rights Reserved.
2 // 2 //
3 // Use of this source code is governed by a BSD-style license 3 // Use of this source code is governed by a BSD-style license
4 // that can be found in the COPYING file in the root of the source 4 // that can be found in the COPYING file in the root of the source
5 // tree. An additional intellectual property rights grant can be found 5 // tree. An additional intellectual property rights grant can be found
6 // in the file PATENTS. All contributing project authors may 6 // in the file PATENTS. All contributing project authors may
7 // be found in the AUTHORS file in the root of the source tree. 7 // be found in the AUTHORS file in the root of the source tree.
8 // ----------------------------------------------------------------------------- 8 // -----------------------------------------------------------------------------
9 // 9 //
10 // MIPS version of lossless functions 10 // MIPS version of lossless functions
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
278 ".set macro \n\t" \ 278 ".set macro \n\t" \
279 "1: \n\t" 279 "1: \n\t"
280 280
281 // P2 = P0 + P1 281 // P2 = P0 + P1
282 // A..D - offsets 282 // A..D - offsets
283 // E - temp variable to tell macro 283 // E - temp variable to tell macro
284 // if pointer should be incremented 284 // if pointer should be incremented
285 // literal_ and successive histograms could be unaligned 285 // literal_ and successive histograms could be unaligned
286 // so we must use ulw and usw 286 // so we must use ulw and usw
287 #define ADD_TO_OUT(A, B, C, D, E, P0, P1, P2) \ 287 #define ADD_TO_OUT(A, B, C, D, E, P0, P1, P2) \
288 "ulw %[temp0], "#A"(%["#P0"]) \n\t" \ 288 "ulw %[temp0], " #A "(%[" #P0 "]) \n\t" \
289 "ulw %[temp1], "#B"(%["#P0"]) \n\t" \ 289 "ulw %[temp1], " #B "(%[" #P0 "]) \n\t" \
290 "ulw %[temp2], "#C"(%["#P0"]) \n\t" \ 290 "ulw %[temp2], " #C "(%[" #P0 "]) \n\t" \
291 "ulw %[temp3], "#D"(%["#P0"]) \n\t" \ 291 "ulw %[temp3], " #D "(%[" #P0 "]) \n\t" \
292 "ulw %[temp4], "#A"(%["#P1"]) \n\t" \ 292 "ulw %[temp4], " #A "(%[" #P1 "]) \n\t" \
293 "ulw %[temp5], "#B"(%["#P1"]) \n\t" \ 293 "ulw %[temp5], " #B "(%[" #P1 "]) \n\t" \
294 "ulw %[temp6], "#C"(%["#P1"]) \n\t" \ 294 "ulw %[temp6], " #C "(%[" #P1 "]) \n\t" \
295 "ulw %[temp7], "#D"(%["#P1"]) \n\t" \ 295 "ulw %[temp7], " #D "(%[" #P1 "]) \n\t" \
296 "addu %[temp4], %[temp4], %[temp0] \n\t" \ 296 "addu %[temp4], %[temp4], %[temp0] \n\t" \
297 "addu %[temp5], %[temp5], %[temp1] \n\t" \ 297 "addu %[temp5], %[temp5], %[temp1] \n\t" \
298 "addu %[temp6], %[temp6], %[temp2] \n\t" \ 298 "addu %[temp6], %[temp6], %[temp2] \n\t" \
299 "addu %[temp7], %[temp7], %[temp3] \n\t" \ 299 "addu %[temp7], %[temp7], %[temp3] \n\t" \
300 "addiu %["#P0"], %["#P0"], 16 \n\t" \ 300 "addiu %[" #P0 "], %[" #P0 "], 16 \n\t" \
301 ".if "#E" == 1 \n\t" \ 301 ".if " #E " == 1 \n\t" \
302 "addiu %["#P1"], %["#P1"], 16 \n\t" \ 302 "addiu %[" #P1 "], %[" #P1 "], 16 \n\t" \
303 ".endif \n\t" \ 303 ".endif \n\t" \
304 "usw %[temp4], "#A"(%["#P2"]) \n\t" \ 304 "usw %[temp4], " #A "(%[" #P2 "]) \n\t" \
305 "usw %[temp5], "#B"(%["#P2"]) \n\t" \ 305 "usw %[temp5], " #B "(%[" #P2 "]) \n\t" \
306 "usw %[temp6], "#C"(%["#P2"]) \n\t" \ 306 "usw %[temp6], " #C "(%[" #P2 "]) \n\t" \
307 "usw %[temp7], "#D"(%["#P2"]) \n\t" \ 307 "usw %[temp7], " #D "(%[" #P2 "]) \n\t" \
308 "addiu %["#P2"], %["#P2"], 16 \n\t" \ 308 "addiu %[" #P2 "], %[" #P2 "], 16 \n\t" \
309 "bne %["#P0"], %[LoopEnd], 1b \n\t" \ 309 "bne %[" #P0 "], %[LoopEnd], 1b \n\t" \
310 ".set pop \n\t" \ 310 ".set pop \n\t" \
311 311
312 #define ASM_END_COMMON_0 \ 312 #define ASM_END_COMMON_0 \
313 : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), \ 313 : [temp0]"=&r"(temp0), [temp1]"=&r"(temp1), \
314 [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), \ 314 [temp2]"=&r"(temp2), [temp3]"=&r"(temp3), \
315 [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), \ 315 [temp4]"=&r"(temp4), [temp5]"=&r"(temp5), \
316 [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), \ 316 [temp6]"=&r"(temp6), [temp7]"=&r"(temp7), \
317 [pa]"+r"(pa), [pout]"+r"(pout) 317 [pa]"+r"(pa), [pout]"+r"(pout)
318 318
319 #define ASM_END_COMMON_1 \ 319 #define ASM_END_COMMON_1 \
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
407 #if defined(WEBP_USE_MIPS32) 407 #if defined(WEBP_USE_MIPS32)
408 VP8LFastSLog2Slow = FastSLog2Slow; 408 VP8LFastSLog2Slow = FastSLog2Slow;
409 VP8LFastLog2Slow = FastLog2Slow; 409 VP8LFastLog2Slow = FastLog2Slow;
410 VP8LExtraCost = ExtraCost; 410 VP8LExtraCost = ExtraCost;
411 VP8LExtraCostCombined = ExtraCostCombined; 411 VP8LExtraCostCombined = ExtraCostCombined;
412 VP8LHuffmanCostCount = HuffmanCostCount; 412 VP8LHuffmanCostCount = HuffmanCostCount;
413 VP8LHuffmanCostCombinedCount = HuffmanCostCombinedCount; 413 VP8LHuffmanCostCombinedCount = HuffmanCostCombinedCount;
414 VP8LHistogramAdd = HistogramAdd; 414 VP8LHistogramAdd = HistogramAdd;
415 #endif // WEBP_USE_MIPS32 415 #endif // WEBP_USE_MIPS32
416 } 416 }
OLDNEW
« no previous file with comments | « third_party/libwebp/dsp/enc_mips32.c ('k') | third_party/libwebp/enc/histogram.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698