Open Broadcaster Software
Free, open source software for live streaming and recording
format-conversion.h
Go to the documentation of this file.
1
/******************************************************************************
2
Copyright (C) 2013 by Hugh Bailey <obs.jim@gmail.com>
3
4
This program is free software: you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation, either version 2 of the License, or
7
(at your option) any later version.
8
9
This program 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
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program. If not, see <http://www.gnu.org/licenses/>.
16
******************************************************************************/
17
18
#pragma once
19
20
#include "../util/c99defs.h"
21
22
#ifdef __cplusplus
23
extern
"C"
{
24
#endif
25
26
/*
27
* Functions for converting to and from packed 444 YUV
28
*/
29
30
EXPORT
void
compress_uyvx_to_i420
(
const
uint8_t
*input,
uint32_t
in_linesize,
31
uint32_t
start_y,
uint32_t
end_y,
32
uint8_t
*output[],
33
const
uint32_t
out_linesize[]);
34
35
EXPORT
void
compress_uyvx_to_nv12
(
const
uint8_t
*input,
uint32_t
in_linesize,
36
uint32_t
start_y,
uint32_t
end_y,
37
uint8_t
*output[],
38
const
uint32_t
out_linesize[]);
39
40
EXPORT
void
convert_uyvx_to_i444
(
const
uint8_t
*input,
uint32_t
in_linesize,
41
uint32_t
start_y,
uint32_t
end_y,
42
uint8_t
*output[],
43
const
uint32_t
out_linesize[]);
44
45
EXPORT
void
decompress_nv12
(
const
uint8_t
*
const
input[],
46
const
uint32_t
in_linesize[],
uint32_t
start_y,
47
uint32_t
end_y,
uint8_t
*output,
48
uint32_t
out_linesize);
49
50
EXPORT
void
decompress_420
(
const
uint8_t
*
const
input[],
51
const
uint32_t
in_linesize[],
uint32_t
start_y,
52
uint32_t
end_y,
uint8_t
*output,
53
uint32_t
out_linesize);
54
55
EXPORT
void
decompress_422
(
const
uint8_t
*input,
uint32_t
in_linesize,
56
uint32_t
start_y,
uint32_t
end_y,
uint8_t
*output,
57
uint32_t
out_linesize,
bool
leading_lum);
58
59
#ifdef __cplusplus
60
}
61
#endif
decompress_422
EXPORT void decompress_422(const uint8_t *input, uint32_t in_linesize, uint32_t start_y, uint32_t end_y, uint8_t *output, uint32_t out_linesize, bool leading_lum)
convert_uyvx_to_i444
EXPORT void convert_uyvx_to_i444(const uint8_t *input, uint32_t in_linesize, uint32_t start_y, uint32_t end_y, uint8_t *output[], const uint32_t out_linesize[])
uint32_t
unsigned uint32_t
Definition:
vc_stdint.h:31
compress_uyvx_to_nv12
EXPORT void compress_uyvx_to_nv12(const uint8_t *input, uint32_t in_linesize, uint32_t start_y, uint32_t end_y, uint8_t *output[], const uint32_t out_linesize[])
compress_uyvx_to_i420
EXPORT void compress_uyvx_to_i420(const uint8_t *input, uint32_t in_linesize, uint32_t start_y, uint32_t end_y, uint8_t *output[], const uint32_t out_linesize[])
uint8_t
unsigned char uint8_t
Definition:
vc_stdint.h:27
decompress_nv12
EXPORT void decompress_nv12(const uint8_t *const input[], const uint32_t in_linesize[], uint32_t start_y, uint32_t end_y, uint8_t *output, uint32_t out_linesize)
EXPORT
#define EXPORT
Definition:
c99defs.h:49
decompress_420
EXPORT void decompress_420(const uint8_t *const input[], const uint32_t in_linesize[], uint32_t start_y, uint32_t end_y, uint8_t *output, uint32_t out_linesize)
libobs
media-io
format-conversion.h
Generated on Sun Oct 13 2019 00:00:00 for Open Broadcaster Software by
1.8.15