Commit Graph

211 Commits

Author SHA1 Message Date
Michael Niedermayer
41a52740d4 avutil/opt: Fix AV_OPT_TYPE_BINARY case in av_opt_is_set_to_default()
Fixes CID1257010

Reviewed-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-08 15:39:17 +01:00
Michael Niedermayer
ace9161655 avutil/opt: Check av_parse_video_rate()s return value
Fixes CID1257008

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 02:57:39 +01:00
Michael Niedermayer
eb74839caa avutil/opt: Check av_parse_color() return value
Fixes: CID1257007

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-07 02:46:25 +01:00
Lukasz Marek
0cb994dfe3 lavu/opt: add escaping to av_opt_serialize
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-29 00:58:42 +01:00
Lukasz Marek
f00e9c4b10 lavu/opt: add consts where possible 2014-11-27 23:27:14 +01:00
Lukasz Marek
ea0d893817 lavu/opt: handle NULL obj in av_opt_next
It indirectly also fixes av_opt_free for NULL objs.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-25 23:09:16 +01:00
Lukasz Marek
bee5844ddd lavu/opt: introduce av_opt_serialize()
Function allows to create string containing object's serialized options.
Such string may be passed back to av_set_options_string() in order to restore options.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
eec693328a lavu/opt: introduce av_opt_is_set_to_default()
New function allows to check if option is set to its default value

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-16 01:13:38 +01:00
Lukasz Marek
173d51c982 lavu/opt: fix av_opt_get function
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-12 23:34:05 +01:00
Lukasz Marek
5dc0f607e7 lavu/opt: fix memleak in test
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-12 23:32:31 +01:00
Lukasz Marek
b54effba4f lavu/opt: update tests
In general this commit prepares opt tests to be added to fate.

The commit set some non-zero defaults for test options.
It allows to check if defaults are really set.

Added printing of default values.

Added more cases for testing av_set_options_string

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-11 21:52:26 +01:00
Lukasz Marek
4efc79649b lavu/opt: add support for binary defaults
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-11 21:52:26 +01:00
Lukasz Marek
bb60142f56 lavu/opt: check for NULL before parsing
set_string_binary crashes when called with val==NULL

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-11 21:52:26 +01:00
Lukasz Marek
4e179436b6 lavu/opt: copy dict in av_opt_copy
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-11-09 17:56:08 +01:00
James Almer
71718de814 avutil: remove obsolete FF_API_FIND_OPT cruft
Signed-off-by: James Almer <jamrial@gmail.com>
2014-10-05 17:09:53 -03:00
Philip DeCamp
857fc0a71f libavutil/opt: fix av_opt_set_channel_layout() to access correct memory address
Signed-off-by: Philip DeCamp <decamp@mit.edu>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-24 22:57:40 +02:00
Michael Niedermayer
60dbed6067 Merge commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867'
* commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867':
  cosmetics: Write NULL pointer inequality checks more compactly

Conflicts:
	libavcodec/dvdsubdec.c
	libavcodec/h263dec.c
	libavcodec/libxvid.c
	libavcodec/rv10.c
	libavcodec/utils.c
	libavformat/format.c
	libavformat/matroskadec.c
	libavformat/segment.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:26:12 +02:00
Gabriel Dume
4b1f5e5090 cosmetics: Write NULL pointer inequality checks more compactly
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 05:34:13 -07:00
Michael Niedermayer
8b6cbc3c33 avutil/opt: remove disabled old ABI compatibility code
Fixes some unused variable warnings

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 20:42:53 +02:00
Michael Niedermayer
2ba4577809 Merge commit 'a8c104a511f97e4ea617df73b31737e28a8a5126'
* commit 'a8c104a511f97e4ea617df73b31737e28a8a5126':
  AVOption: add support for dictionary types.

Conflicts:
	libavutil/opt.c
	libavutil/opt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 22:39:54 +02:00
Andrew Stone
a8c104a511 AVOption: add support for dictionary types.
In order to support metadata being set as an option, it's necessary to be able
to set dictionaries as values.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-08-13 16:07:40 +00:00
Michael Niedermayer
24327706e1 avutil/opt: ensure the right buffer is used in set_string_number()
Fixes use of uninitialized memory

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 21:29:43 +02:00
Michael Niedermayer
bbc5adfb94 avutil/opt: Fix parsing regression with constants starting with numbers
Fixes parsing "3dnow"

Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-23 08:42:52 +02:00
Michael Niedermayer
539e72727f avutil/opt: simplify set_string_number()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 17:38:06 +02:00
Muhammad Faiz
4852a88dfb avutil/opt: set_string_number(): remove unneeded copy
also remove unused variables

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-22 16:58:41 +02:00
Michael Niedermayer
265dadbe7d avutil/opt: Support general expressions involving AVOption constants in set_string_number()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 17:00:37 +02:00
Michael Niedermayer
88efc013b1 avutil: move QP2LAMBDA constant to eval
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 15:30:45 +02:00
Michael Niedermayer
2c5c7f1089 avutil/opt: remove dead code from set_string_number()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 15:28:53 +02:00
Muhammad Faiz
4927c0a988 avutil/opt.c: fix bug when parsing option
fix these strange behavior:
-af flanger=delay=10 [OK]
-af flanger=delay=1e1 [OK]
-af flanger=delay=1e+1 [Error]
-af flanger=delay=0.1 [OK]
-af flanger=delay=1e-1 [Error]

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-21 15:20:39 +02:00
Michael Niedermayer
7cd6d61da5 avutil/opt: try to fix the case where src==dst in av_opt_copy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-17 06:21:42 +02:00
Michael Niedermayer
00759d71a2 avutil/opt: add av_opt_copy()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-01 20:49:18 +02:00
Michael Niedermayer
f028b7af7b avutil/opt: add opt_size()
If people want, this could be exported as av_opt_size()
2014-06-01 20:47:50 +02:00
Lukasz Marek
ba52fb11dc lavu/opt: add av_opt_set_dict2() function
Existing av_opt_set_dict doesn't accept flags.
It doesn't allow to pass options to nested structs.
New function alllows that.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-05-02 18:04:05 +02:00
Lukasz Marek
3aac5fcfa9 lavu/opt: validate range before dereference
This change make error handling simplier.
av_opt_freep_ranges may be called when some ranges are NULL,
for example after memory allocation fail.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-04 22:09:57 +02:00
Lukasz Marek
8c27292373 lavu/opt: dont crash on freeing NULL AVOptionRanges
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-04-03 19:05:19 +02:00
Lukasz Marek
eaed4da96a lavu/opt: extend AVOptionRange by extra values
AVOptionRange is not flexible enough to store AV_OPT_TYPE_IMAGE_SIZE
ranges. Current implementation can only store pixel count.
This patch aims to keep backward compatibility and extend
AVOptionRange with possibility to store width/height ranges.

Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
2014-04-03 13:28:13 +02:00
Michael Niedermayer
d9a3501c33 avutil/opt: dont crash on av_opt_set_dict() with NULL
This allows calling the function without the need to check if the
dictionary contains any entries

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-30 15:00:03 +02:00
Michael Niedermayer
52d928daf9 avutil/opt: allow max=min=0 for pixel formats
This is neccessary for maintaining ABI compatibility with FFmpeg 2.1

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-01 00:31:38 +01:00
Michael Niedermayer
6a24d77929 Merge commit 'c3ecd968f0e78da6e77f0c06c2f785b266d83cf1'
* commit 'c3ecd968f0e78da6e77f0c06c2f785b266d83cf1':
  AVOptions: add flags for read/read-only options

Conflicts:
	libavutil/opt.c
	libavutil/opt.h
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-20 02:01:13 +01:00
Anton Khirnov
c3ecd968f0 AVOptions: add flags for read/read-only options 2014-02-19 21:52:17 +01:00
Michael Niedermayer
8f853159f6 avutil/opt: preserve fractions in set_string_number()
This avoids going over a double precission float, which may loose precission

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-18 21:49:56 +01:00
João Bernardo
290326711b avutil/opt: Better print representation of number limits
Signed-off-by: João Bernardo Oliveira <jbvsmo@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-01-24 21:14:02 +01:00
Stefano Sabatini
334e2e2363 lavu,lavc,lswr: do not hardcode AV_SAMPLE_FMT_NB value when setting sample format max value
The constant may change in libavutil but the library may be compiled
against an older version, thus rejecting a value which is otherwise
supported by the new libavutil.

INT_MAX is used here to denote the max allowed value for a sample format.

The opt-test code is changed to provide a valid reference example.
2013-12-26 11:35:27 +01:00
Stefano Sabatini
3b8c7da7a3 lavu,lavfi,lavd: do not hardcode AV_PIX_FMT_NB value when setting pixel format max value
The constant may change in libavutil but the library may be compiled
against an older version, thus rejecting a value which is otherwise
supported by the new libavutil.

INT_MAX is used here to denote the max allowed value for a pixel format.

The opt-test code is changed to provide a valid reference example.
2013-12-26 11:35:27 +01:00
Stefano Sabatini
55f046be11 lavu/opt: apply range checks also when setting format string value
Previously when setting a pixel/sample format as a string range checks
were not performed. This is consistent with the
av_opt_set_pixel/sample_fmt() interface.
2013-12-26 11:35:27 +01:00
Stefano Sabatini
1575a96b3a lavu/opt: factorize setting of format values from string
Simplify incoming patch.
2013-12-26 11:35:27 +01:00
Stefano Sabatini
e2b54464c6 lavu/opt: fix range check logic in set_format()
In particular, allow to reject undefined values. Previously the code
was only accepting values in the range -1 .. NB_FORMATS-1.
2013-12-26 11:35:26 +01:00
Michael Niedermayer
792845e436 Merge commit '3bc2e89c76e88ae6f1fd5287e0b11abcfc3c601c'
* commit '3bc2e89c76e88ae6f1fd5287e0b11abcfc3c601c':
  Bump libavutil major version to account for the LLS API/ABI changes.

Conflicts:
	libavutil/version.h

Bump done to stay compatible with libav, its not neccessary otherwise for ffmpeg
as we have the new ABI/API under LLS2 and the old (unused) under LLS

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-16 21:52:51 +01:00
Michael Niedermayer
e8ac905dae avutil/opt: Implement av_opt_set_defaults* in O(N) instead of O(N²) time
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-07 14:09:36 +01:00
Michael Niedermayer
0aedf90e62 avutil/opt: factor set_string_color() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-07 14:08:20 +01:00