FFmpeg
libavcodec
lossless_videodsp.h
1
/*
2
* Lossless video DSP utils
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
21
22
#ifndef AVCODEC_LOSSLESS_VIDEODSP_H
23
#define AVCODEC_LOSSLESS_VIDEODSP_H
24
25
#include <stdint.h>
26
#include <stddef.h>
27
28
#include "
avcodec.h
"
29
#include "libavutil/cpu.h"
30
31
typedef
struct
LLVidDSPContext
{
32
void (*add_bytes)(uint8_t *dst
/* align 32 */
, uint8_t *src
/* align 32 */
,
33
ptrdiff_t w);
34
void (*add_median_pred)(uint8_t *dst,
const
uint8_t *top,
35
const
uint8_t *diff, ptrdiff_t w,
36
int
*left,
int
*left_top);
37
int (*add_left_pred)(uint8_t *dst,
const
uint8_t *src,
38
ptrdiff_t w,
int
left);
39
40
int (*add_left_pred_int16)(uint16_t *dst,
const
uint16_t *src,
41
unsigned
mask, ptrdiff_t w,
unsigned
left);
42
void (*add_gradient_pred)(uint8_t *src
/* align 32 */
,
const
ptrdiff_t stride,
const
ptrdiff_t width);
43
}
LLVidDSPContext
;
44
45
void
ff_llviddsp_init(
LLVidDSPContext
*llviddsp);
46
void
ff_llviddsp_init_x86(
LLVidDSPContext
*llviddsp);
47
void
ff_llviddsp_init_ppc(
LLVidDSPContext
*llviddsp);
48
49
#endif //AVCODEC_LOSSLESS_VIDEODSP_H
LLVidDSPContext
Definition:
lossless_videodsp.h:31
avcodec.h
Libavcodec external API header.
Generated by
1.8.12