Libav
Main Page
Related Pages
Modules
Data Structures
Files
Examples
File List
Globals
libavcodec
blockdsp.h
Go to the documentation of this file.
1
/*
2
* This file is part of Libav.
3
*
4
* Libav 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
* Libav 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 Libav; 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 <stdint.h>
23
24
#include "
avcodec.h
"
25
#include "
version.h
"
26
27
/* add and put pixel (decoding)
28
* Block sizes for op_pixels_func are 8x4,8x8 16x8 16x16.
29
* h for op_pixels_func is limited to { width / 2, width },
30
* but never larger than 16 and never smaller than 4. */
31
typedef
void
(*
op_fill_func
)(
uint8_t
*
block
/* align width (8 or 16) */
,
32
uint8_t
value,
int
line_size,
int
h);
33
34
typedef
struct
BlockDSPContext
{
35
void
(*
clear_block
)(int16_t *
block
/* align 16 */
);
36
void
(*
clear_blocks
)(int16_t *blocks
/* align 16 */
);
37
38
op_fill_func
fill_block_tab
[2];
39
}
BlockDSPContext
;
40
41
void
ff_blockdsp_init
(
BlockDSPContext
*c,
AVCodecContext
*avctx);
42
43
void
ff_blockdsp_init_arm
(
BlockDSPContext
*c,
unsigned
high_bit_depth);
44
void
ff_blockdsp_init_ppc
(
BlockDSPContext
*c,
unsigned
high_bit_depth);
45
#if FF_API_XVMC
46
void
ff_blockdsp_init_x86
(
BlockDSPContext
*c,
unsigned
high_bit_depth,
47
AVCodecContext
*avctx);
48
#else
49
void
ff_blockdsp_init_x86
(
BlockDSPContext
*c,
unsigned
high_bit_depth);
50
#endif
/* FF_API_XVMC */
51
52
#endif
/* AVCODEC_BLOCKDSP_H */
BlockDSPContext::clear_block
void(* clear_block)(int16_t *block)
Definition:
blockdsp.h:35
BlockDSPContext::clear_blocks
void(* clear_blocks)(int16_t *blocks)
Definition:
blockdsp.h:36
ff_blockdsp_init_arm
void ff_blockdsp_init_arm(BlockDSPContext *c, unsigned high_bit_depth)
Definition:
blockdsp_init_arm.c:27
uint8_t
uint8_t
Definition:
audio_convert.c:194
version.h
Libavcodec version macros.
ff_blockdsp_init
void ff_blockdsp_init(BlockDSPContext *c, AVCodecContext *avctx)
Definition:
blockdsp.c:58
BlockDSPContext
Definition:
blockdsp.h:34
avcodec.h
Libavcodec external API header.
AVCodecContext
main external API structure.
Definition:
avcodec.h:1050
void
static void(WINAPI *cond_broadcast)(pthread_cond_t *cond)
ff_blockdsp_init_ppc
void ff_blockdsp_init_ppc(BlockDSPContext *c, unsigned high_bit_depth)
Definition:
blockdsp.c:146
ff_blockdsp_init_x86
void ff_blockdsp_init_x86(BlockDSPContext *c, unsigned high_bit_depth)
Definition:
blockdsp.c:94
op_fill_func
void(* op_fill_func)(uint8_t *block, uint8_t value, int line_size, int h)
Definition:
blockdsp.h:31
BlockDSPContext::fill_block_tab
op_fill_func fill_block_tab[2]
Definition:
blockdsp.h:38
block
static int16_t block[64]
Definition:
dct-test.c:88
Generated on Sat Mar 30 2019 22:34:05 for Libav by
1.8.8