FFmpeg
1.2.12
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavcodec
h264chroma.c
Go to the documentation of this file.
1
/*
2
* This file is part of FFmpeg.
3
*
4
* FFmpeg is free software; you can redistribute it and/or
5
* modify it under the terms of the GNU Lesser General Public
6
* License as published by the Free Software Foundation; either
7
* version 2.1 of the License, or (at your option) any later version.
8
*
9
* FFmpeg is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
* Lesser General Public License for more details.
13
*
14
* You should have received a copy of the GNU Lesser General Public
15
* License along with FFmpeg; if not, write to the Free Software
16
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
17
*/
18
19
#include "
config.h
"
20
#include "
h264chroma.h
"
21
22
#define BIT_DEPTH 8
23
#include "
h264chroma_template.c
"
24
#undef BIT_DEPTH
25
26
#define BIT_DEPTH 16
27
#include "
h264chroma_template.c
"
28
#undef BIT_DEPTH
29
30
#define SET_CHROMA(depth) \
31
c->put_h264_chroma_pixels_tab[0] = put_h264_chroma_mc8_ ## depth ## _c; \
32
c->put_h264_chroma_pixels_tab[1] = put_h264_chroma_mc4_ ## depth ## _c; \
33
c->put_h264_chroma_pixels_tab[2] = put_h264_chroma_mc2_ ## depth ## _c; \
34
c->put_h264_chroma_pixels_tab[3] = put_h264_chroma_mc1_ ## depth ## _c; \
35
c->avg_h264_chroma_pixels_tab[0] = avg_h264_chroma_mc8_ ## depth ## _c; \
36
c->avg_h264_chroma_pixels_tab[1] = avg_h264_chroma_mc4_ ## depth ## _c; \
37
c->avg_h264_chroma_pixels_tab[2] = avg_h264_chroma_mc2_ ## depth ## _c; \
38
c->avg_h264_chroma_pixels_tab[3] = avg_h264_chroma_mc1_ ## depth ## _c; \
39
40
void
ff_h264chroma_init
(
H264ChromaContext
*
c
,
int
bit_depth)
41
{
42
if
(bit_depth > 8 && bit_depth <= 16) {
43
SET_CHROMA
(16);
44
}
else
{
45
SET_CHROMA
(8);
46
}
47
48
if
(
ARCH_ARM
)
49
ff_h264chroma_init_arm
(c, bit_depth);
50
if
(
ARCH_PPC
)
51
ff_h264chroma_init_ppc
(c, bit_depth);
52
if
(
ARCH_SH4
)
53
ff_h264chroma_init_sh4
(c, bit_depth);
54
if
(
ARCH_X86
)
55
ff_h264chroma_init_x86
(c, bit_depth);
56
}
Generated on Thu Feb 12 2015 17:56:54 for FFmpeg by
1.8.1.2