OLD | NEW |
1 /* | 1 /* |
2 * Optimization of some functions from mpegvideo.c for armv5te | 2 * Optimization of some functions from mpegvideo.c for armv5te |
3 * Copyright (c) 2007 Siarhei Siamashka <ssvb@users.sourceforge.net> | 3 * Copyright (c) 2007 Siarhei Siamashka <ssvb@users.sourceforge.net> |
4 * | 4 * |
5 * This file is part of FFmpeg. | 5 * This file is part of FFmpeg. |
6 * | 6 * |
7 * FFmpeg is free software; you can redistribute it and/or | 7 * FFmpeg is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2.1 of the License, or (at your option) any later version. | 10 * version 2.1 of the License, or (at your option) any later version. |
11 * | 11 * |
12 * FFmpeg is distributed in the hope that it will be useful, | 12 * FFmpeg is distributed in the hope that it will be useful, |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 * Lesser General Public License for more details. | 15 * Lesser General Public License for more details. |
16 * | 16 * |
17 * You should have received a copy of the GNU Lesser General Public | 17 * You should have received a copy of the GNU Lesser General Public |
18 * License along with FFmpeg; if not, write to the Free Software | 18 * License along with FFmpeg; if not, write to the Free Software |
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20 */ | 20 */ |
21 | 21 |
22 #include "libavcodec/avcodec.h" | 22 #include "libavcodec/avcodec.h" |
23 #include "libavcodec/dsputil.h" | 23 #include "libavcodec/dsputil.h" |
24 #include "libavcodec/mpegvideo.h" | 24 #include "libavcodec/mpegvideo.h" |
| 25 #include "mpegvideo_arm.h" |
25 | 26 |
26 void ff_dct_unquantize_h263_armv5te(DCTELEM *block, int qmul, int qadd, int coun
t); | 27 void ff_dct_unquantize_h263_armv5te(DCTELEM *block, int qmul, int qadd, int coun
t); |
27 | 28 |
28 #ifdef ENABLE_ARM_TESTS | 29 #ifdef ENABLE_ARM_TESTS |
29 /** | 30 /** |
30 * h263 dequantizer supplementary function, it is performance critical and needs
to | 31 * h263 dequantizer supplementary function, it is performance critical and needs
to |
31 * have optimized implementations for each architecture. Is also used as a refer
ence | 32 * have optimized implementations for each architecture. Is also used as a refer
ence |
32 * implementation in regression tests | 33 * implementation in regression tests |
33 */ | 34 */ |
34 static inline void dct_unquantize_h263_helper_c(DCTELEM *block, int qmul, int qa
dd, int count) | 35 static inline void dct_unquantize_h263_helper_c(DCTELEM *block, int qmul, int qa
dd, int count) |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 nCoeffs= s->inter_scantable.raster_end[ s->block_last_index[n] ]; | 92 nCoeffs= s->inter_scantable.raster_end[ s->block_last_index[n] ]; |
92 | 93 |
93 ff_dct_unquantize_h263_armv5te(block, qmul, qadd, nCoeffs + 1); | 94 ff_dct_unquantize_h263_armv5te(block, qmul, qadd, nCoeffs + 1); |
94 } | 95 } |
95 | 96 |
96 void MPV_common_init_armv5te(MpegEncContext *s) | 97 void MPV_common_init_armv5te(MpegEncContext *s) |
97 { | 98 { |
98 s->dct_unquantize_h263_intra = dct_unquantize_h263_intra_armv5te; | 99 s->dct_unquantize_h263_intra = dct_unquantize_h263_intra_armv5te; |
99 s->dct_unquantize_h263_inter = dct_unquantize_h263_inter_armv5te; | 100 s->dct_unquantize_h263_inter = dct_unquantize_h263_inter_armv5te; |
100 } | 101 } |
OLD | NEW |