/src/ffmpeg/libavcodec/h263.h
Line | Count | Source |
1 | | /* |
2 | | * H.263 internal header |
3 | | * |
4 | | * This file is part of FFmpeg. |
5 | | * |
6 | | * FFmpeg is free software; you can redistribute it and/or |
7 | | * modify it under the terms of the GNU Lesser General Public |
8 | | * License as published by the Free Software Foundation; either |
9 | | * version 2.1 of the License, or (at your option) any later version. |
10 | | * |
11 | | * FFmpeg is distributed in the hope that it will be useful, |
12 | | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
13 | | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
14 | | * Lesser General Public License for more details. |
15 | | * |
16 | | * You should have received a copy of the GNU Lesser General Public |
17 | | * License along with FFmpeg; if not, write to the Free Software |
18 | | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
19 | | */ |
20 | | #ifndef AVCODEC_H263_H |
21 | | #define AVCODEC_H263_H |
22 | | |
23 | | #include "libavutil/rational.h" |
24 | | #include "mpegvideo.h" |
25 | | |
26 | 228k | #define FF_ASPECT_EXTENDED 15 |
27 | | |
28 | 376k | #define H263_GOB_HEIGHT(h) ((h) <= 400 ? 1 : (h) <= 800 ? 2 : 4) |
29 | | |
30 | | static inline int ff_h263_round_chroma(int x) |
31 | 64.9M | { |
32 | | //FIXME static or not? |
33 | 64.9M | static const uint8_t h263_chroma_roundtab[16] = { |
34 | | // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
35 | 64.9M | 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, |
36 | 64.9M | }; |
37 | 64.9M | return h263_chroma_roundtab[x & 0xf] + (x >> 3); |
38 | 64.9M | } Unexecuted instantiation: ituh263enc.c:ff_h263_round_chroma Unexecuted instantiation: mpegvideo_enc.c:ff_h263_round_chroma mpegvideo_motion.c:ff_h263_round_chroma Line | Count | Source | 31 | 63.6M | { | 32 | | //FIXME static or not? | 33 | 63.6M | static const uint8_t h263_chroma_roundtab[16] = { | 34 | | // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 35 | 63.6M | 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, | 36 | 63.6M | }; | 37 | 63.6M | return h263_chroma_roundtab[x & 0xf] + (x >> 3); | 38 | 63.6M | } |
Unexecuted instantiation: msmpeg4enc.c:ff_h263_round_chroma Unexecuted instantiation: h263.c:ff_h263_round_chroma Unexecuted instantiation: motion_est.c:ff_h263_round_chroma Unexecuted instantiation: mpeg4videodec.c:ff_h263_round_chroma Unexecuted instantiation: mpeg4videoenc.c:ff_h263_round_chroma mpegvideo_dec.c:ff_h263_round_chroma Line | Count | Source | 31 | 1.28M | { | 32 | | //FIXME static or not? | 33 | 1.28M | static const uint8_t h263_chroma_roundtab[16] = { | 34 | | // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 35 | 1.28M | 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, | 36 | 1.28M | }; | 37 | 1.28M | return h263_chroma_roundtab[x & 0xf] + (x >> 3); | 38 | 1.28M | } |
Unexecuted instantiation: h263dec.c:ff_h263_round_chroma Unexecuted instantiation: intelh263dec.c:ff_h263_round_chroma Unexecuted instantiation: ituh263dec.c:ff_h263_round_chroma Unexecuted instantiation: msmpeg4dec.c:ff_h263_round_chroma Unexecuted instantiation: rv10.c:ff_h263_round_chroma Unexecuted instantiation: wmv2enc.c:ff_h263_round_chroma Unexecuted instantiation: svq1enc.c:ff_h263_round_chroma |
39 | | |
40 | | av_const int ff_h263_aspect_to_info(AVRational aspect); |
41 | | int16_t *ff_h263_pred_motion(MpegEncContext * s, int block, int dir, |
42 | | int *px, int *py); |
43 | | void ff_h263_init_rl_inter(void); |
44 | | void ff_h263_update_motion_val(MpegEncContext * s); |
45 | | void ff_h263_loop_filter(MpegEncContext * s); |
46 | | |
47 | | static inline void ff_h263_clean_intra_table_entries(MpegEncContext *s, int xy) |
48 | 24.0M | { |
49 | 24.0M | if (s->mbintra_table[xy]) { |
50 | 3.85M | s->mbintra_table[xy] = 0; |
51 | 3.85M | ff_clean_intra_table_entries(s); |
52 | 3.85M | } |
53 | 24.0M | } Unexecuted instantiation: ituh263enc.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: mpegvideo_enc.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: mpegvideo_motion.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: msmpeg4enc.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: h263.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: motion_est.c:ff_h263_clean_intra_table_entries mpeg4videodec.c:ff_h263_clean_intra_table_entries Line | Count | Source | 48 | 980k | { | 49 | 980k | if (s->mbintra_table[xy]) { | 50 | 150k | s->mbintra_table[xy] = 0; | 51 | 150k | ff_clean_intra_table_entries(s); | 52 | 150k | } | 53 | 980k | } |
Unexecuted instantiation: mpeg4videoenc.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: mpegvideo_dec.c:ff_h263_clean_intra_table_entries h263dec.c:ff_h263_clean_intra_table_entries Line | Count | Source | 48 | 23.1M | { | 49 | 23.1M | if (s->mbintra_table[xy]) { | 50 | 3.70M | s->mbintra_table[xy] = 0; | 51 | 3.70M | ff_clean_intra_table_entries(s); | 52 | 3.70M | } | 53 | 23.1M | } |
Unexecuted instantiation: intelh263dec.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: ituh263dec.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: msmpeg4dec.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: rv10.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: wmv2enc.c:ff_h263_clean_intra_table_entries Unexecuted instantiation: svq1enc.c:ff_h263_clean_intra_table_entries |
54 | | |
55 | | #endif /* AVCODEC_H263_H */ |