Commit Graph

531 Commits

Author SHA1 Message Date
Ganesh Ajjanagadde
92e483f8ed all: use FFDIFFSIGN to resolve possible undefined behavior in comparators
FFDIFFSIGN was created explicitly for this purpose, since the common
return a - b idiom is unsafe regarding overflow on signed integers. It
optimizes to branchless code on common compilers.

FFDIFFSIGN also has the subjective benefit of being easier to read due
to lack of ternary operators.

Tested with FATE.

Things not covered by this are unsigned integers, for which overflows
are well defined, and also places where overflow is clearly impossible,
e.g an instance where the a - b was being done on 24 bit values.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-11-03 16:28:30 -05:00
Hendrik Leppkes
fe41f28c3a Merge commit 'fe66671bd5f446f8d0a9c70968ba8fe891efe028'
* commit 'fe66671bd5f446f8d0a9c70968ba8fe891efe028':
  cmdutils: Check for and report the correct codec capability

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-27 14:06:30 +01:00
Vittorio Giovara
fe66671bd5 cmdutils: Check for and report the correct codec capability 2015-10-25 22:47:13 +01:00
Hendrik Leppkes
93ac7a98e0 Merge commit '9ef748173a4e0e58d40afaf38397783cd2537eaa'
* commit '9ef748173a4e0e58d40afaf38397783cd2537eaa':
  cmdutils: Print general codec capabilities

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-16 22:57:21 +02:00
Hendrik Leppkes
0ad43d0f15 Merge commit 'e240a28b20680b326a39b0860fda37d7e459bfc0'
* commit 'e240a28b20680b326a39b0860fda37d7e459bfc0':
  cmdutils: Add auto to threading capabilities report

Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
2015-10-16 22:46:23 +02:00
Vittorio Giovara
9ef748173a cmdutils: Print general codec capabilities 2015-10-15 15:47:08 +02:00
Vittorio Giovara
e240a28b20 cmdutils: Add auto to threading capabilities report
And use 'none' when such capabilities are not set.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-10-15 15:43:21 +02:00
Ganesh Ajjanagadde
254c64c574 cmdutils: silence unused warnings under --disable-swscale, --disable-swresample
This patch silences such warnings by placing initializations under a header guard,
see e.g
http://fate.ffmpeg.org/log.cgi?time=20150919095430&log=compile&slot=x86_64-archlinux-gcc-disableswscale,
http://fate.ffmpeg.org/log.cgi?time=20150919095048&log=compile&slot=x86_64-archlinux-gcc-disableswresample
for examples of such warnings.
It also has the benefit of placing library specific #defines next to each other.

Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-03 19:26:09 +02:00
Michael Niedermayer
a0af9fd954 cmdutils: Filter dst/srcw/h
Dimensions / pixel formats for scaling must be set through the -s / pix_fmt options
or the scale / format filters. Otherwise there are mismatches between whet is
in/output to the scaler and for what the scaler is configured

Fixes Ticket4856

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-19 21:25:40 +02:00
Andreas Cadhalpun
9c29aa7143 ffmpeg: replace deprecated av_log_ask_for_sample with av_log
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-12 00:14:13 +02:00
Andreas Cadhalpun
9126ae4b6b use avfilter_pad_get_{type,name} accessor functions
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
2015-08-08 21:59:02 +02:00
Michael Niedermayer
5edab1d207 cmdutils: remove sws_opts usage, simplify code
It has become unused as all code was switched to AVDictionary

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-08 16:51:25 +02:00
Michael Niedermayer
408c9cf0e2 cmdutils: Fix overriding flags on the command line.
Previously the code just appended the strings of flags which
worked with "+bitexact" but would not work with something like "0"

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-08 14:58:38 +02:00
Michael Niedermayer
165fb7eba8 cmdutils: Export all sws options using a AVDictionary like the other subsystems do
This makes extracting options other than sws_flags easier

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-08-08 13:24:52 +02:00
Michael Niedermayer
444e9874a7 Merge commit 'def97856de6021965db86c25a732d78689bd6bb0'
* commit 'def97856de6021965db86c25a732d78689bd6bb0':
  lavc: AV-prefix all codec capabilities

Conflicts:
	cmdutils.c
	ffmpeg.c
	ffplay.c
	libavcodec/8svx.c
	libavcodec/aacenc.c
	libavcodec/ac3dec.c
	libavcodec/adpcm.c
	libavcodec/alac.c
	libavcodec/atrac3plusdec.c
	libavcodec/bink.c
	libavcodec/dnxhddec.c
	libavcodec/dvdec.c
	libavcodec/dvenc.c
	libavcodec/ffv1dec.c
	libavcodec/ffv1enc.c
	libavcodec/fic.c
	libavcodec/flacdec.c
	libavcodec/flacenc.c
	libavcodec/flvdec.c
	libavcodec/fraps.c
	libavcodec/frwu.c
	libavcodec/gifdec.c
	libavcodec/h261dec.c
	libavcodec/hevc.c
	libavcodec/iff.c
	libavcodec/imc.c
	libavcodec/libopenjpegdec.c
	libavcodec/libvo-aacenc.c
	libavcodec/libvorbisenc.c
	libavcodec/libvpxdec.c
	libavcodec/libvpxenc.c
	libavcodec/libx264.c
	libavcodec/mjpegbdec.c
	libavcodec/mjpegdec.c
	libavcodec/mpegaudiodec_float.c
	libavcodec/msmpeg4dec.c
	libavcodec/mxpegdec.c
	libavcodec/nvenc_h264.c
	libavcodec/nvenc_hevc.c
	libavcodec/pngdec.c
	libavcodec/qpeg.c
	libavcodec/ra288.c
	libavcodec/rv10.c
	libavcodec/s302m.c
	libavcodec/sp5xdec.c
	libavcodec/takdec.c
	libavcodec/tiff.c
	libavcodec/tta.c
	libavcodec/utils.c
	libavcodec/v210dec.c
	libavcodec/vp6.c
	libavcodec/vp9.c
	libavcodec/wavpack.c
	libavcodec/yop.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-27 22:50:18 +02:00
Vittorio Giovara
def97856de lavc: AV-prefix all codec capabilities
Express bitfields more simply.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-07-27 15:24:58 +01:00
Michael Niedermayer
edd110ee45 Merge commit 'bd2ab27c488ae92c7820efe11d4f53d84e94d58e'
* commit 'bd2ab27c488ae92c7820efe11d4f53d84e94d58e':
  avconv: use read_file() for reading the 2pass stats

Conflicts:
	cmdutils.c
	cmdutils.h
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-19 13:33:44 +02:00
Anton Khirnov
bd2ab27c48 avconv: use read_file() for reading the 2pass stats
Also, drop the now unused cmdutils_read_file(). There is no reason to
have two functions doing essentially the same thing.
2015-07-19 09:37:11 +02:00
wm4
1316df7aa9 lavu: add an API function to return the Libav version string
This returns something like "v12_dev0-1332-g333a27c". This is much more
useful than the individual library versions, of which there are too
many, and which are very hard to map back to releases or git commits.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2015-07-02 23:22:53 +02:00
Michael Niedermayer
66f4b1e9c4 cmdutils: Fix sign error in display matrix auto-rotation code
This makes the sample from Ticket4560 behave consistently with either branch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-18 02:07:34 +02:00
Michael Niedermayer
876c89a88f cmdline: Check options array for not working flag combinations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-09 13:07:21 +02:00
Michael Niedermayer
36993527dd cmdutils: Add libm.h for round()
Found-by: jamrial
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-05 11:51:00 +02:00
James Almer
858f81fde2 cmdutils: move get_rotation() up in the file
Fixes compilation of fftools without libavdevice

Signed-off-by: James Almer <jamrial@gmail.com>
2015-05-05 02:47:21 -03:00
Michael Niedermayer
f320f2f4c6 cmdutils: Ask for a sample in case a odd rotation angle is encountered
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-04 17:39:23 +02:00
Michael Niedermayer
4351c288b9 ffplay&cmdutils:Factor get_rotation() code out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-03 23:49:16 +02:00
Michael Niedermayer
8e8219e0f0 Merge commit 'c253340ae6f74ffd8798bbd476e46d1b33a2d56e'
* commit 'c253340ae6f74ffd8798bbd476e46d1b33a2d56e':
  log: Introduce a more verbose debug level

Conflicts:
	doc/APIchanges
	doc/fftools-common-opts.texi
	libavutil/log.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 02:48:19 +02:00
Vittorio Giovara
c253340ae6 log: Introduce a more verbose debug level
And deprecate av_dlog macro.
2015-04-19 12:41:59 +01:00
Lou Logan
d1a8922098 cmdutils: indent protocols listing
For readability.

Signed-off-by: Lou Logan <lou@lrcd.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 02:05:22 +02:00
Lou Logan
44cae91252 cmdutils: fix "Commmand" typo
Signed-off-by: Lou Logan <lou@lrcd.com>
2015-04-03 10:43:21 -08:00
Luca Barbato
342fc46c69 cmdutils: Add a stream specifier to map usable streams
It drops everything that cannot be used for re-encoding and/or
streamcopy.
2015-03-20 16:10:20 +01:00
Jean Delvare
194165aed8 cmdutils: fix success path
Since commit 934f2d2f5c,
cmdutils_read_file() prints a confusing message on success:

IO error: Success

This is because the error message is printed on the success path as
well. Add the missing condition so that it is only printed on error.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
Cc: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 17:28:11 +01:00
Andreas Cadhalpun
103e4c5863 stop embedding the build date
Theis makes the build binary reproducible.

Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-02 05:04:14 +01:00
Lukasz Marek
f463df18bc cmdutils: use av_match_name to filter devices
Device name may be coma-separated list.
Use dedicated funtion to compare.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:58:33 +01:00
Lukasz Marek
44e6eeb30d cmdutils: use helper functions for listing sinks/sources
List device callback must be able to return valid list without opening device.
This callback should return input values for open function, not vice-versa.
Read header funtion is very likey to fail without proper configuration provided.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2015-01-11 18:58:33 +01:00
Michael Niedermayer
d2838f09d6 cmdutils.c: Use av_realloc_array()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 17:52:54 +01:00
Michael Niedermayer
369b4cd412 cmdutils: Use 64bit for file size/offset related variable in cmdutils_read_file()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-06 15:27:17 +01:00
Johan Andersson
3e16065221 cmdutils: update copyright year to 2015.
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-01-04 13:22:25 +02:00
Michael Niedermayer
988d27b802 Merge commit 'b1306823d0b3ae998c8e10ad832004eb13bdd93e'
* commit 'b1306823d0b3ae998c8e10ad832004eb13bdd93e':
  check memory errors from av_strdup()

Conflicts:
	avprobe.c
	libavformat/matroskaenc.c
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:57:25 +01:00
Michael Niedermayer
934f2d2f5c Merge commit '38129c26c51b933d7db423f904ba0cd6a88ca1ed'
* commit '38129c26c51b933d7db423f904ba0cd6a88ca1ed':
  cmdutils: check file access functions return values

Conflicts:
	cmdutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 04:31:17 +01:00
Vittorio Giovara
b1306823d0 check memory errors from av_strdup() 2014-12-18 23:27:14 +01:00
Vittorio Giovara
38129c26c5 cmdutils: check file access functions return values
CC: libav-stable@libav.org
Bug-Id: CID 703706
2014-12-18 23:23:00 +01:00
Lukasz Marek
00dc2859f0 cmdutils: use macros for device test
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-12-14 23:55:41 +01:00
Michael Niedermayer
4be03a7a6c cmdutils: Exit in case of faulty stream specifiers
Avoids printing confusing and unrelated errors
Fixes Ticket2772

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 04:06:32 +01:00
Lukasz Marek
5f55819850 opts: add list device sources/sinks options
Allows to list sources/sinks of the devices that implement
that functionality.

Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
2014-10-25 20:20:31 +02:00
Michael Niedermayer
2fc970a6b8 cmdutils: Read errno before av_log() as the callback from av_log() might affect errno
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-25 13:28:51 +02:00
Michael Niedermayer
1eda312aca Merge commit '47e3e1097e09da7f973908e09df15e3bb7c5e1f4'
* commit '47e3e1097e09da7f973908e09df15e3bb7c5e1f4':
  cmdutils: Use the correct guard

Conflicts:
	cmdutils.c

See: 35daf3ca81
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-17 14:57:40 +02:00
Luca Barbato
47e3e1097e cmdutils: Use the correct guard
The OptionDef arrays are terminated with a { NULL } element not NULL.

CC: libav-stable@libav.org
Bug-Id: CID 703769
2014-10-17 09:55:46 +01:00
Michael Niedermayer
9ac08d93b2 Merge commit '2dd09ebf5597fd5e4a573bee9cccf21ae821f286'
* commit '2dd09ebf5597fd5e4a573bee9cccf21ae821f286':
  cmdutils: Print a more sensible message in show_filters() w/o libavfilter

Conflicts:
	cmdutils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-17 19:59:10 +02:00
Diego Biurrun
2dd09ebf55 cmdutils: Print a more sensible message in show_filters() w/o libavfilter
Also avoid an unused variable warning for compilers w/o av_unused support.
2014-09-16 09:37:14 -07:00
Tobias Rapp
2c43cfe2d4 cmdutils: Add some whitespace when printing layouts
Adds some more whitespace between channel layout name and decomposition.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-02 18:44:07 +02:00