VLC
4.0.0-dev
include
vlc_image.h
Go to the documentation of this file.
1
/*****************************************************************************
2
* vlc_image.h : wrapper for image reading/writing facilities
3
*****************************************************************************
4
* Copyright (C) 2004 VLC authors and VideoLAN
5
*
6
* Authors: Gildas Bazin <gbazin@videolan.org>
7
*
8
* This program is free software; you can redistribute it and/or modify it
9
* under the terms of the GNU Lesser General Public License as published by
10
* the Free Software Foundation; either version 2.1 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU Lesser General Public License for more details.
17
*
18
* You should have received a copy of the GNU Lesser General Public License
19
* along with this program; if not, write to the Free Software Foundation,
20
* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
21
*****************************************************************************/
22
23
#ifndef VLC_IMAGE_H
24
#define VLC_IMAGE_H 1
25
26
# include <
vlc_picture.h
>
27
# include <
vlc_picture_fifo.h
>
28
29
/**
30
* \file
31
* This file defines functions and structures for image conversions in vlc
32
*/
33
34
# ifdef __cplusplus
35
extern
"C"
{
36
# endif
37
38
struct
image_handler_t
39
{
40
picture_t
* (*pf_read) (
image_handler_t
*,
block_t
*,
41
const
es_format_t
*,
42
video_format_t
* );
43
picture_t
* (*pf_read_url) (
image_handler_t
*,
const
char
*,
44
video_format_t
* );
45
block_t
* (*pf_write) (
image_handler_t
*,
picture_t
*,
46
const
video_format_t
*,
const
video_format_t
* );
47
int (*
pf_write_url
) (
image_handler_t
*,
picture_t
*,
48
const
video_format_t
*,
const
video_format_t
*,
49
const
char
* );
50
51
picture_t
* (*pf_convert) (
image_handler_t
*,
picture_t
*,
52
const
video_format_t
*,
video_format_t
* );
53
54
/* Private properties */
55
vlc_object_t
*
p_parent
;
56
decoder_t
*
p_dec
;
57
encoder_t
*
p_enc
;
58
filter_t
*
p_converter
;
59
60
picture_fifo_t
*
outfifo
;
61
};
62
63
VLC_API
image_handler_t
*
image_HandlerCreate
(
vlc_object_t
* )
VLC_USED
;
64
#define image_HandlerCreate( a ) image_HandlerCreate( VLC_OBJECT(a) )
65
VLC_API
void
image_HandlerDelete
(
image_handler_t
* );
66
67
#define image_Read( a, b, c, d ) a->pf_read( a, b, c, d )
68
#define image_ReadUrl( a, b, c ) a->pf_read_url( a, b, c )
69
#define image_Write( a, b, c, d ) a->pf_write( a, b, c, d )
70
#define image_WriteUrl( a, b, c, d, e ) a->pf_write_url( a, b, c, d, e )
71
#define image_Convert( a, b, c, d ) a->pf_convert( a, b, c, d )
72
73
VLC_API
vlc_fourcc_t
image_Type2Fourcc
(
const
char
*
psz_name
);
74
VLC_API
vlc_fourcc_t
image_Ext2Fourcc
(
const
char
*
psz_name
);
75
VLC_API
vlc_fourcc_t
image_Mime2Fourcc
(
const
char
*
psz_mime
);
76
77
# ifdef __cplusplus
78
}
79
# endif
80
81
#endif
/* _VLC_IMAGE_H */
VLC_API
#define VLC_API
Definition:
fourcc_gen.c:31
psz_name
const char * psz_name
Definition:
text_style.c:53
image_HandlerCreate
#define image_HandlerCreate(a)
Definition:
vlc_image.h:65
vlc_common.h
image_Type2Fourcc
VLC_EXPORT vlc_fourcc_t image_Type2Fourcc(const char *psz_name)
Definition:
image.c:613
video_format_t
video format description
Definition:
vlc_es.h:350
decoder_t
Definition:
vlc_codec.h:101
picture_t
Video picture.
Definition:
vlc_picture.h:120
filter_t
Structure describing a filter.
Definition:
vlc_filter.h:215
es_format_t
Definition:
vlc_es.h:617
picture_fifo_t
Definition:
picture_fifo.c:39
image_handler_t::p_converter
filter_t * p_converter
Definition:
vlc_image.h:59
image_Mime2Fourcc
VLC_EXPORT vlc_fourcc_t image_Mime2Fourcc(const char *psz_mime)
Definition:
image.c:657
encoder_t
Definition:
vlc_codec.h:242
psz_mime
const char * psz_mime
Definition:
image.c:634
vlc_object_t
VLC object common members.
Definition:
vlc_objects.h:43
VLC_USED
#define VLC_USED
Definition:
fourcc_gen.c:32
vlc_picture.h
image_handler_t
Definition:
vlc_image.h:39
image_handler_t::outfifo
picture_fifo_t * outfifo
Definition:
vlc_image.h:61
vlc_picture_fifo.h
image_Ext2Fourcc
VLC_EXPORT vlc_fourcc_t image_Ext2Fourcc(const char *psz_name)
Definition:
image.c:622
image_handler_t::pf_write_url
int(* pf_write_url)(image_handler_t *, picture_t *, const video_format_t *, const video_format_t *, const char *)
Definition:
vlc_image.h:48
image_handler_t::p_enc
encoder_t * p_enc
Definition:
vlc_image.h:58
image_handler_t::p_parent
vlc_object_t * p_parent
Definition:
vlc_image.h:56
image_HandlerDelete
VLC_EXPORT void image_HandlerDelete(image_handler_t *)
Delete the image_handler_t instance.
Definition:
image.c:116
block_t
Definition:
vlc_block.h:117
image_handler_t::p_dec
decoder_t * p_dec
Definition:
vlc_image.h:57
vlc_fourcc_t
uint32_t vlc_fourcc_t
Definition:
fourcc_gen.c:33
Generated by
1.8.17