FFmpeg
libavcodec
huffyuvdsp.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_HUFFYUVDSP_H
20
#define AVCODEC_HUFFYUVDSP_H
21
22
#include <stdint.h>
23
#include "
libavutil/pixfmt.h
"
24
#include "config.h"
25
26
#if HAVE_BIGENDIAN
27
#define B 3
28
#define G 2
29
#define R 1
30
#define A 0
31
#else
32
#define B 0
33
#define G 1
34
#define R 2
35
#define A 3
36
#endif
37
38
typedef
struct
HuffYUVDSPContext
{
39
void (*add_int16)(uint16_t *dst
/*align 16*/
,
const
uint16_t *src
/*align 16*/
,
40
unsigned
mask,
int
w);
41
42
void (*add_hfyu_median_pred_int16)(uint16_t *dst,
const
uint16_t *top,
43
const
uint16_t *diff,
unsigned
mask,
44
int
w,
int
*left,
int
*left_top);
45
void (*add_hfyu_left_pred_bgr32)(uint8_t *dst,
const
uint8_t *src,
46
intptr_t w, uint8_t *left);
47
}
HuffYUVDSPContext
;
48
49
void
ff_huffyuvdsp_init(
HuffYUVDSPContext
*c,
enum
AVPixelFormat
pix_fmt);
50
void
ff_huffyuvdsp_init_x86(
HuffYUVDSPContext
*c,
enum
AVPixelFormat
pix_fmt);
51
52
#endif
/* AVCODEC_HUFFYUVDSP_H */
HuffYUVDSPContext
Definition:
huffyuvdsp.h:38
pixfmt.h
pixel format definitions
AVPixelFormat
AVPixelFormat
Pixel format.
Definition:
pixfmt.h:60
Generated by
1.8.12