MediaProcessors
video_settings.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2017 Rafael Antoniello
3  *
4  * This file is part of MediaProcessors.
5  *
6  * MediaProcessors is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU Lesser General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * MediaProcessors 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
14  * GNU Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with MediaProcessors. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
26 #ifndef MEDIAPROCESSORS_SRC_VIDEO_SETTINGS_H_
27 #define MEDIAPROCESSORS_SRC_VIDEO_SETTINGS_H_
28 
29 #include <libmediaprocsutils/mem_utils.h>
30 
31 /* **** Definitions **** */
32 
33 /* Forward definitions */
34 typedef struct log_ctx_s log_ctx_t;
35 typedef struct cJSON cJSON;
36 
42 typedef struct video_settings_enc_ctx_s {
63  int gop_size;
67  char conf_preset[128];
69 
75 typedef struct video_settings_dec_ctx_s {
76  // Reserved for future use
78 
79 /* **** Prototypes **** */
80 
86 
93  video_settings_enc_ctx_t **ref_video_settings_enc_ctx);
94 
103  volatile video_settings_enc_ctx_t *video_settings_enc_ctx);
104 
112  volatile video_settings_enc_ctx_t *video_settings_enc_ctx);
113 
126  const video_settings_enc_ctx_t *video_settings_enc_ctx_src,
127  video_settings_enc_ctx_t *video_settings_enc_ctx_dst);
128 
139  volatile video_settings_enc_ctx_t *video_settings_enc_ctx,
140  const char *str, log_ctx_t *log_ctx);
141 
153  volatile video_settings_enc_ctx_t *video_settings_enc_ctx,
154  cJSON **ref_cjson_rest, log_ctx_t *log_ctx);
155 
161 
168  video_settings_dec_ctx_t **ref_video_settings_dec_ctx);
169 
178  volatile video_settings_dec_ctx_t *video_settings_dec_ctx);
179 
187  volatile video_settings_dec_ctx_t *video_settings_dec_ctx);
188 
201  const video_settings_dec_ctx_t *video_settings_dec_ctx_src,
202  video_settings_dec_ctx_t *video_settings_dec_ctx_dst);
203 
214  volatile video_settings_dec_ctx_t *video_settings_dec_ctx,
215  const char *str, log_ctx_t *log_ctx);
216 
228  volatile video_settings_dec_ctx_t *video_settings_dec_ctx,
229  cJSON **ref_cjson_rest, log_ctx_t *log_ctx);
230 
231 #endif /* MEDIAPROCESSORS_SRC_VIDEO_SETTINGS_H_ */
void video_settings_dec_ctx_deinit(volatile video_settings_dec_ctx_t *video_settings_dec_ctx)
int video_settings_dec_ctx_restful_get(volatile video_settings_dec_ctx_t *video_settings_dec_ctx, cJSON **ref_cjson_rest, log_ctx_t *log_ctx)
int video_settings_dec_ctx_restful_put(volatile video_settings_dec_ctx_t *video_settings_dec_ctx, const char *str, log_ctx_t *log_ctx)
video_settings_dec_ctx_t * video_settings_dec_ctx_allocate()
int video_settings_enc_ctx_cpy(const video_settings_enc_ctx_t *video_settings_enc_ctx_src, video_settings_enc_ctx_t *video_settings_enc_ctx_dst)
int video_settings_enc_ctx_restful_get(volatile video_settings_enc_ctx_t *video_settings_enc_ctx, cJSON **ref_cjson_rest, log_ctx_t *log_ctx)
int video_settings_enc_ctx_restful_put(volatile video_settings_enc_ctx_t *video_settings_enc_ctx, const char *str, log_ctx_t *log_ctx)
void video_settings_dec_ctx_release(video_settings_dec_ctx_t **ref_video_settings_dec_ctx)
void video_settings_enc_ctx_release(video_settings_enc_ctx_t **ref_video_settings_enc_ctx)
int video_settings_enc_ctx_init(volatile video_settings_enc_ctx_t *video_settings_enc_ctx)
int video_settings_dec_ctx_init(volatile video_settings_dec_ctx_t *video_settings_dec_ctx)
void video_settings_enc_ctx_deinit(volatile video_settings_enc_ctx_t *video_settings_enc_ctx)
struct video_settings_dec_ctx_s video_settings_dec_ctx_t
video_settings_enc_ctx_t * video_settings_enc_ctx_allocate()
Definition: log.c:102
struct video_settings_enc_ctx_s video_settings_enc_ctx_t
int video_settings_dec_ctx_cpy(const video_settings_dec_ctx_t *video_settings_dec_ctx_src, video_settings_dec_ctx_t *video_settings_dec_ctx_dst)