]> git.sesse.net Git - ffmpeg/blob - libavcodec/opt.c
psymodel: extend API to include PE and bit allocation.
[ffmpeg] / libavcodec / opt.c
1 /*
2  * AVOptions ABI compatibility wrapper
3  * Copyright (c) 2010 Michael Niedermayer <michaelni@gmx.at>
4  *
5  * This file is part of Libav.
6  *
7  * Libav is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * Libav is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with Libav; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20  */
21
22 #include "avcodec.h"
23 #include "opt.h"
24
25 #if LIBAVCODEC_VERSION_MAJOR < 53 && CONFIG_SHARED && HAVE_SYMVER
26
27 FF_SYMVER(const AVOption *, av_find_opt, (void *obj, const char *name, const char *unit, int mask, int flags), "LIBAVCODEC_52"){
28     return av_find_opt(obj, name, unit, mask, flags);
29 }
30 FF_SYMVER(int, av_set_string3, (void *obj, const char *name, const char *val, int alloc, const AVOption **o_out), "LIBAVCODEC_52"){
31     return av_set_string3(obj, name, val, alloc, o_out);
32 }
33 FF_SYMVER(const AVOption *, av_set_double, (void *obj, const char *name, double n), "LIBAVCODEC_52"){
34     return av_set_double(obj, name, n);
35 }
36 FF_SYMVER(const AVOption *, av_set_q, (void *obj, const char *name, AVRational n), "LIBAVCODEC_52"){
37     return av_set_q(obj, name, n);
38 }
39 FF_SYMVER(const AVOption *, av_set_int, (void *obj, const char *name, int64_t n), "LIBAVCODEC_52"){
40     return av_set_int(obj, name, n);
41 }
42 FF_SYMVER(double, av_get_double, (void *obj, const char *name, const AVOption **o_out), "LIBAVCODEC_52"){
43     return av_get_double(obj, name, o_out);
44 }
45 FF_SYMVER(AVRational, av_get_q, (void *obj, const char *name, const AVOption **o_out), "LIBAVCODEC_52"){
46     return av_get_q(obj, name, o_out);
47 }
48 FF_SYMVER(int64_t, av_get_int, (void *obj, const char *name, const AVOption **o_out), "LIBAVCODEC_52"){
49     return av_get_int(obj, name, o_out);
50 }
51 FF_SYMVER(const char *, av_get_string, (void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len), "LIBAVCODEC_52"){
52     return av_get_string(obj, name, o_out, buf, buf_len);
53 }
54 FF_SYMVER(const AVOption *, av_next_option, (void *obj, const AVOption *last), "LIBAVCODEC_52"){
55     return av_next_option(obj, last);
56 }
57 FF_SYMVER(int, av_opt_show2, (void *obj, void *av_log_obj, int req_flags, int rej_flags), "LIBAVCODEC_52"){
58     return av_opt_show2(obj, av_log_obj, req_flags, rej_flags);
59 }
60 FF_SYMVER(void, av_opt_set_defaults, (void *s), "LIBAVCODEC_52"){
61     return av_opt_set_defaults(s);
62 }
63 FF_SYMVER(void, av_opt_set_defaults2, (void *s, int mask, int flags), "LIBAVCODEC_52"){
64     return av_opt_set_defaults2(s, mask, flags);
65 }
66 #endif
67
68 #if FF_API_SET_STRING_OLD
69 const AVOption *av_set_string2(void *obj, const char *name, const char *val, int alloc){
70     const AVOption *o;
71     if (av_set_string3(obj, name, val, alloc, &o) < 0)
72         return NULL;
73     return o;
74 }
75
76 const AVOption *av_set_string(void *obj, const char *name, const char *val){
77     const AVOption *o;
78     if (av_set_string3(obj, name, val, 0, &o) < 0)
79         return NULL;
80     return o;
81 }
82 #endif
83
84 #if FF_API_OPT_SHOW
85 int av_opt_show(void *obj, void *av_log_obj){
86     return av_opt_show2(obj, av_log_obj,
87                         AV_OPT_FLAG_ENCODING_PARAM|AV_OPT_FLAG_DECODING_PARAM, 0);
88 }
89 #endif