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
(
31
const
uint8_t
*input,
uint32_t
in_linesize,
32
uint32_t
start_y,
uint32_t
end_y,
33
uint8_t
*output[],
const
uint32_t
out_linesize[]);
34
35
EXPORT
void
compress_uyvx_to_nv12
(
36
const
uint8_t
*input,
uint32_t
in_linesize,
37
uint32_t
start_y,
uint32_t
end_y,
38
uint8_t
*output[],
const
uint32_t
out_linesize[]);
39
40
EXPORT
void
convert_uyvx_to_i444
(
41
const
uint8_t
*input,
uint32_t
in_linesize,
42
uint32_t
start_y,
uint32_t
end_y,
43
uint8_t
*output[],
const
uint32_t
out_linesize[]);
44
45
EXPORT
void
decompress_nv12
(
46
const
uint8_t
*
const
input[],
const
uint32_t
in_linesize[],
47
uint32_t
start_y,
uint32_t
end_y,
48
uint8_t
*output,
uint32_t
out_linesize);
49
50
EXPORT
void
decompress_420
(
51
const
uint8_t
*
const
input[],
const
uint32_t
in_linesize[],
52
uint32_t
start_y,
uint32_t
end_y,
53
uint8_t
*output,
uint32_t
out_linesize);
54
55
EXPORT
void
decompress_422
(
56
const
uint8_t
*input,
uint32_t
in_linesize,
57
uint32_t
start_y,
uint32_t
end_y,
58
uint8_t
*output,
uint32_t
out_linesize,
59
bool
leading_lum);
60
61
#ifdef __cplusplus
62
}
63
#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 Thu Oct 11 2018 05:19:38 for Open Broadcaster Software by
1.8.14