FFmpeg
libavcodec
blockdsp.h
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 */
version.h
Libavcodec version macros.
BlockDSPContext
Definition:
blockdsp.h:35
avcodec.h
Libavcodec external API header.
AVCodecContext
main external API structure.
Definition:
avcodec.h:1518
Generated by
1.8.12