FFmpeg
4.0
libavcodec
blockdsp.h
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
#ifndef AVCODEC_BLOCKDSP_H
20
#define AVCODEC_BLOCKDSP_H
21
22
#include <stddef.h>
23
#include <stdint.h>
24
25
#include "
avcodec.h
"
26
#include "
version.h
"
27
28
/* add and put pixel (decoding)
29
* Block sizes for op_pixels_func are 8x4,8x8 16x8 16x16.
30
* h for op_pixels_func is limited to { width / 2, width },
31
* but never larger than 16 and never smaller than 4. */
32
typedef
void
(*
op_fill_func
)(
uint8_t
*
block
/* align width (8 or 16) */
,
33
uint8_t
value
, ptrdiff_t line_size,
int
h
);
34
35
typedef
struct
BlockDSPContext
{
36
void
(*
clear_block
)(int16_t *
block
/* align 32 */
);
37
void
(*
clear_blocks
)(int16_t *blocks
/* align 32 */
);
38
39
op_fill_func
fill_block_tab
[2];
40
}
BlockDSPContext
;
41
42
void
ff_blockdsp_init
(
BlockDSPContext
*
c
,
AVCodecContext
*avctx);
43
44
void
ff_blockdsp_init_alpha
(
BlockDSPContext
*
c
);
45
void
ff_blockdsp_init_arm
(
BlockDSPContext
*
c
);
46
void
ff_blockdsp_init_ppc
(
BlockDSPContext
*
c
);
47
void
ff_blockdsp_init_x86
(
BlockDSPContext
*
c
,
AVCodecContext
*avctx);
48
void
ff_blockdsp_init_mips
(
BlockDSPContext
*
c
);
49
50
#endif
/* AVCODEC_BLOCKDSP_H */
h
h
Definition:
vp9dsp_template.c:2038
ff_blockdsp_init_ppc
void ff_blockdsp_init_ppc(BlockDSPContext *c)
Definition:
blockdsp.c:145
BlockDSPContext::clear_block
void(* clear_block)(int16_t *block)
Definition:
blockdsp.h:36
ff_blockdsp_init_alpha
void ff_blockdsp_init_alpha(BlockDSPContext *c)
Definition:
blockdsp_alpha.c:46
block
static int16_t block[64]
Definition:
dct.c:115
uint8_t
uint8_t
Definition:
audio_convert.c:194
version.h
Libavcodec version macros.
op_fill_func
void(* op_fill_func)(uint8_t *block, uint8_t value, ptrdiff_t line_size, int h)
Definition:
blockdsp.h:32
ff_blockdsp_init_x86
void ff_blockdsp_init_x86(BlockDSPContext *c, AVCodecContext *avctx)
Definition:
blockdsp_init.c:36
BlockDSPContext::clear_blocks
void(* clear_blocks)(int16_t *blocks)
Definition:
blockdsp.h:37
ff_blockdsp_init
void ff_blockdsp_init(BlockDSPContext *c, AVCodecContext *avctx)
Definition:
blockdsp.c:60
ff_blockdsp_init_mips
void ff_blockdsp_init_mips(BlockDSPContext *c)
Definition:
blockdsp_init_mips.c:46
BlockDSPContext
Definition:
blockdsp.h:35
avcodec.h
Libavcodec external API header.
void
typedef void(RENAME(mix_any_func_type))
Definition:
rematrix_template.c:52
AVCodecContext
main external API structure.
Definition:
avcodec.h:1518
value
double value
Definition:
eval.c:98
ff_blockdsp_init_arm
void ff_blockdsp_init_arm(BlockDSPContext *c)
Definition:
blockdsp_init_arm.c:27
c
static double c[64]
Definition:
vsrc_mptestsrc.c:87
BlockDSPContext::fill_block_tab
op_fill_func fill_block_tab[2]
Definition:
blockdsp.h:39
Generated on Tue May 22 2018 07:06:28 for FFmpeg by
1.8.13