OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2007 Marc Hoffman <marc.hoffman@analog.com> | 2 * Copyright (C) 2007 Marc Hoffman <marc.hoffman@analog.com> |
3 * April 20, 2007 | 3 * April 20, 2007 |
4 * | 4 * |
5 * Blackfin video color space converter operations | 5 * Blackfin video color space converter operations |
6 * convert I420 YV12 to RGB in various formats | 6 * convert I420 YV12 to RGB in various formats |
7 * | 7 * |
8 * This file is part of FFmpeg. | 8 * This file is part of FFmpeg. |
9 * | 9 * |
10 * FFmpeg is free software; you can redistribute it and/or | 10 * FFmpeg is free software; you can redistribute it and/or |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 | 87 |
88 2779809/1484290 187.28% | 88 2779809/1484290 187.28% |
89 | 89 |
90 which translates to ~33c/pel to ~57c/pel for the reference vs 17.5 | 90 which translates to ~33c/pel to ~57c/pel for the reference vs 17.5 |
91 c/pel for the optimized implementations. Not sure why there is such a | 91 c/pel for the optimized implementations. Not sure why there is such a |
92 huge variation on the reference codes on Blackfin I guess it must have | 92 huge variation on the reference codes on Blackfin I guess it must have |
93 to do with the memory system. | 93 to do with the memory system. |
94 */ | 94 */ |
95 | 95 |
96 #define mL3 .text | 96 #define mL3 .text |
97 #ifdef __FDPIC__ | 97 #if defined(__FDPIC__) && CONFIG_SRAM |
98 #define mL1 .l1.text | 98 #define mL1 .l1.text |
99 #else | 99 #else |
100 #define mL1 mL3 | 100 #define mL1 mL3 |
101 #endif | 101 #endif |
102 #define MEM mL1 | 102 #define MEM mL1 |
103 | 103 |
104 #define DEFUN(fname,where,interface) \ | 104 #define DEFUN(fname,where,interface) \ |
105 .section where; \ | 105 .section where; \ |
106 .global _ff_bfin_ ## fname; \ | 106 .global _ff_bfin_ ## fname; \ |
107 .type _ff_bfin_ ## fname, STT_FUNC; \ | 107 .type _ff_bfin_ ## fname, STT_FUNC; \ |
(...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
597 i1 += m0; | 597 i1 += m0; |
598 i2 += m1; | 598 i2 += m1; |
599 i3 += m1; | 599 i3 += m1; |
600 p0 = p0 + p2; | 600 p0 = p0 + p2; |
601 1: p1 = p1 + p2; | 601 1: p1 = p1 + p2; |
602 | 602 |
603 (r7:4,p5:4) = [sp++]; | 603 (r7:4,p5:4) = [sp++]; |
604 unlink; | 604 unlink; |
605 rts; | 605 rts; |
606 DEFUN_END(yuyvtoyv12) | 606 DEFUN_END(yuyvtoyv12) |
OLD | NEW |