Commit Graph
100 Commits
Author SHA1 Message Date
Anton Khirnov 5e83d9aced h264: fully support cropping.
Based on a patch by Vittorio Giovara <vittorio.giovara@gmail.com>

Fixes Bug 378.
2013-04-19 09:28:08 +02:00
Anton Khirnov a7f46586bf ff_get_buffer(): allocate the frame for max(coded,display) dimensions
Needed e.g. for h264 cropping to work properly.
2013-04-19 09:26:53 +02:00
Anton Khirnov a0a872d073 indeo3: check motion vectors.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:10:42 +02:00
Anton Khirnov 34e6af9e20 indeo3: fix data size check
The data offsets are relative to the bistream header, which is 16 bytes
after the start of the data.
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:09:36 +02:00
Anton Khirnov 66531d634e indeo3: switch parsing the header to bytestream2
Also add an additional sanity check to the alt_quant table.
Fixes invalid reads with corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 12:08:49 +02:00
Anton Khirnov 01d376f598 rv10: check that extradata is large enough
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 11:01:52 +02:00
Anton Khirnov bac8d38c0a rv10: return meaningful error codes.
Also improve some error messages.
2013-04-17 11:01:17 +02:00
Anton Khirnov 69f6f03cd1 rv10: cosmetics, reformat 2013-04-17 10:58:29 +02:00
Anton Khirnov 34f87a5853 qdm2: check that the FFT size is a power of 2
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:56:11 +02:00
Anton Khirnov ecff5acb5a svq1dec: clip motion vectors to the frame size.
Fixes invalid reads for corrupted files.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:55:51 +02:00
Anton Khirnov b1bb8fb860 svq1dec: check that the reference frame has the same dimensions as the current one
They can be different if the last keyframe failed to decode correctly.
Fixes possible invalid reads in such a case.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
2013-04-17 10:55:30 +02:00
Anton Khirnov c0771a1ac6 af_channelmap: cosmetics, use an extra local variable to shorten the code 2013-04-17 08:37:59 +02:00
Anton Khirnov aafed1175d af_channelmap: sanity check input channel indices in all cases.
Fixes invalid reads from non-existing channels.

CC:libav-stable@libav.org
2013-04-17 08:37:59 +02:00
Anton KhirnovandDiego Biurrun 7f1fd97636 cmdutils: Fix build with lavfi disabled
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-04-16 21:44:26 +02:00
Anton Khirnov 921046008f cmdutils: allow -h filter=<name> to print information about a filter. 2013-04-11 20:46:11 +02:00
Anton Khirnov e19e8aeeaa avtools: move media_type_string() from avprobe to cmdutils.
It will be useful outside of avprobe.
2013-04-11 20:46:04 +02:00
Anton Khirnov dc574658d1 avconv: print filter options in -h full output. 2013-04-11 20:45:55 +02:00
Anton Khirnov bee2d75b66 avconv: update to the new options syntax.
The separators were changed from ',' to '|' in all the filters.
2013-04-11 20:44:45 +02:00
Anton Khirnov f160c6a18a lavfi: do not segfault on NULL passed to avfilter_get_by_name() 2013-04-11 20:44:35 +02:00
Anton Khirnov fa2a34cd40 lavfi: change the filter registering system to match the other libraries
Removes an arbitrary hardcoded limit on the number of filters.
2013-04-11 20:44:03 +02:00
Anton Khirnov 7e8fe4be5f lavfi: add a function for counting elements in AVFilterPad arrays.
The caller needs to know what valid indices can be passed to
avfilter_pad_get_name/type.
2013-04-11 20:43:47 +02:00
Anton Khirnov 7cdd737ba8 lavfi: mark filters with dynamic number of inputs or outputs with special flags
This will be useful in avtools in the following commits.
Any other caller might also want to know this information.
2013-04-11 20:42:41 +02:00
Anton Khirnov 1ba95a9cca lavfi: add avfilter_init_dict() for initializing a filter with a dict. 2013-04-11 20:40:20 +02:00
Anton Khirnov 48a5adab62 lavfi: add avfilter_init_str() to replace avfilter_init_filter().
Drop the unused opaque parameter from its signature.
2013-04-11 20:39:13 +02:00
Anton Khirnov 1565cbc65c lavfi: make avfilter_free() remove the filter from its graph. 2013-04-11 20:38:48 +02:00
Anton Khirnov 111367263a lavfi: add AVFilterContext.graph.
It will be useful in the following commits.
2013-04-11 20:38:23 +02:00
Anton Khirnov c2c9801bc9 lavfi: deprecate avfilter_graph_add_filter().
Since this function adds a standalone filter to a filter graph and we do
not support creating such filters, there is no reason for this function
to exist.
2013-04-11 20:36:42 +02:00
Anton Khirnov bc1a985ba0 lavfi: replace avfilter_open() with avfilter_graph_alloc_filter().
Since we do not support "standalone" filters not attached to an
AVFilterGraph, we should not have a public function to create such
filters. In addition that function is horribly named, the action it does
cannot be possibly described as "opening" a filter.
2013-04-11 20:34:14 +02:00
Anton Khirnov 38f0c0781a lavfi: merge avfiltergraph.h into avfilter.h
We do not support using filters without AVFilterGraph in practice
anyway, so there is no point in pretending we do.
2013-04-11 20:33:33 +02:00
Anton Khirnov 4a37d4b3f8 lavfi: add const to the pads parameter of avfilter_pad_get_name/type 2013-04-11 20:33:23 +02:00
Anton Khirnov 91d2efa7d6 lavfi: add const to AVFilterContext.filter.
lavfi should never modify the filter through that pointer.
2013-04-11 20:32:39 +02:00
Anton Khirnov f223ad1e00 doc: document the prores encoder options
Adapted from the author's blag.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-11 12:42:09 +02:00
Anton Khirnov 93e65e9a6c Cosmetics, restore alphabetic order in atomics lists. 2013-04-11 12:31:14 +02:00
Anton Khirnov 9e6b5e61a0 img2enc: add an option for overwriting one file with subsequent images
Based on a patch by Michael Niedermayer <michaelni@gmx.at>.
2013-04-11 12:30:44 +02:00
Anton Khirnov 9de9b828ef lavc: don't overwrite display dimensions with coded dimensions. 2013-04-10 20:54:27 +02:00
Anton Khirnov 2d6edb2b7e lavc: extend / update the [coded_]{width,height} doxy 2013-04-10 20:54:22 +02:00
Anton Khirnov 837112c0c8 af_channelmap: fix uninitialized variable use introduced in ba8efac977 2013-04-09 22:01:34 +02:00
Anton Khirnov cdac3acb11 lavfi: add a bump and docs entries for the AVOptions switch 2013-04-09 19:13:27 +02:00
Anton Khirnov 8114c10160 lavfi: add avfilter_get_class().
Useful for examining options, the same as the corresponding functions
for the other libs.
2013-04-09 19:13:19 +02:00
Anton Khirnov 4d1f31ea44 lavfi: make AVFilterContext export filter options. 2013-04-09 19:13:10 +02:00
Anton Khirnov 62549f9655 lavfi: error out when options are provided to a filter that does not take any 2013-04-09 19:12:59 +02:00
Anton Khirnov c43a7ecad9 lavfi: remove now unused args parameter from AVFilter.init 2013-04-09 19:12:38 +02:00
Anton Khirnov 7b3eb745b9 vsrc_testsrc: switch to an AVOptions-based system. 2013-04-09 19:12:06 +02:00
Anton Khirnov a42d6e6c4c vsrc_movie: switch to an AVOptions-based system. 2013-04-09 19:11:27 +02:00
Anton Khirnov b7b3302f8f vsrc_nullsrc: switch to an AVOptions-based system. 2013-04-09 19:11:12 +02:00
Anton Khirnov 7bc1a883c9 vsrc_color: switch to an AVOptions-based system. 2013-04-09 19:11:03 +02:00
Anton Khirnov 73d5d405d4 split: switch to an AVOptions-based system. 2013-04-09 19:10:41 +02:00
Anton Khirnov b13623e184 af_volume: switch to an AVOptions-based system. 2013-04-09 19:10:27 +02:00
Anton Khirnov dd7fc37c71 af_join: switch to an AVOptions-based system.
Change the mappings separator from comma to '|' to avoid excessive
escaping, since comma is already used for separating filters in the
filtergraph description.
2013-04-09 19:10:12 +02:00
Anton Khirnov 3f14febbdf af_channelsplit: switch to an AVOptions-based system. 2013-04-09 19:10:00 +02:00
Anton Khirnov ba8efac977 af_channelmap: switch to an AVOptions-based system. 2013-04-09 19:09:40 +02:00
Anton Khirnov b2b25b0659 af_asyncts: switch to an AVOptions-based system. 2013-04-09 19:09:33 +02:00
Anton Khirnov ac20e3ab8e af_amix: switch to an AVOptions-based system. 2013-04-09 19:09:26 +02:00
Anton Khirnov 7536c67104 vf_yadif: switch to an AVOptions-based system. 2013-04-09 19:09:03 +02:00
Anton Khirnov b83e9efc53 vf_unsharp: switch to an AVOptions-based system. 2013-04-09 19:08:42 +02:00
Anton Khirnov 0c2466dec7 vf_transpose: switch to an AVOptions-based system. 2013-04-09 19:08:04 +02:00
Anton Khirnov ffea3b00c3 vf_settb: switch to an AVOptions-based system. 2013-04-09 19:07:44 +02:00
Anton Khirnov 33b97faaba vf_setpts: switch to an AVOptions-based system. 2013-04-09 19:07:28 +02:00
Anton Khirnov 95f1f56a21 vf_select: switch to an AVOptions-based system. 2013-04-09 19:06:51 +02:00
Anton Khirnov 40c885c589 vf_pad: switch to an AVOptions-based system. 2013-04-09 19:06:29 +02:00
Anton Khirnov 9087eaf193 vf_overlay: switch to an AVOptions-based system. 2013-04-09 19:06:13 +02:00
Anton Khirnov 20b46f8f4f vf_lut: switch to an AVOptions-based system. 2013-04-09 19:05:32 +02:00
Anton Khirnov ee0e8d4b15 vf_libopencv: switch to an AVOptions-based system. 2013-04-09 19:05:22 +02:00
Anton Khirnov 8c747d46f7 vf_hqdn3d: switch to an AVOptions-based system. 2013-04-09 19:05:12 +02:00
Anton Khirnov 7ed833d78e vf_gradfun: switch to an AVOptions-based system. 2013-04-09 19:04:57 +02:00
Anton Khirnov c334c113d4 vf_scale: switch to an AVOptions-based system. 2013-04-09 19:04:45 +02:00
Anton Khirnov 5aa1a668cf vf_frei0r: switch to an AVOptions-based system. 2013-04-09 19:04:28 +02:00
Anton Khirnov f13ab29925 vf_fps: switch to an AVOptions-based system. 2013-04-09 19:04:15 +02:00
Anton Khirnov a39c154049 vf_fieldorder: switch to an AVOptions-based system. 2013-04-09 19:03:56 +02:00
Anton Khirnov b9dfee9fa2 vf_fade: switch to an AVOptions-based system. 2013-04-09 19:03:43 +02:00
Anton Khirnov 8ec464c61c vf_drawtext: switch to an AVOptions-based system. 2013-04-09 19:03:23 +02:00
Anton Khirnov 335c31293b vf_drawbox: switch to an AVOptions-based system. 2013-04-09 19:03:08 +02:00
Anton Khirnov 63e58c55c1 vf_delogo: switch to an AVOptions-based system. 2013-04-09 19:02:43 +02:00
Anton Khirnov 460e7b4f6d vf_cropdetect: switch to an AVOptions-based system. 2013-04-09 19:02:32 +02:00
Anton Khirnov fba0156af7 vf_crop: switch to an AVOptions-based system. 2013-04-09 19:00:54 +02:00
Anton Khirnov 51def31dbe vf_boxblur: switch to an AVOptions-based system. 2013-04-09 19:00:39 +02:00
Anton Khirnov 62dcdb028c vf_blackframe: switch to an AVOptions-based system. 2013-04-09 19:00:26 +02:00
Anton Khirnov 2831b307e6 vf_aspect: switch to an AVOptions-based system. 2013-04-09 18:58:30 +02:00
Anton Khirnov e67a87eac8 vf_(no)format: switch to an AVOptions-based system. 2013-04-09 18:56:39 +02:00
Anton Khirnov 0af7fe1f95 af_aformat: switch to an AVOptions-based system. 2013-04-09 18:55:45 +02:00
Anton Khirnov d28cb84989 buffersrc: switch to an AVOptions-based system. 2013-04-09 18:48:16 +02:00
Anton Khirnov 4fa1f52e33 af_resample: switch to an AVOptions-based system. 2013-04-09 18:45:50 +02:00
Anton Khirnov b439c992c2 lavfi: switch to an AVOptions-based system. 2013-04-09 18:45:37 +02:00
Anton Khirnov f8080bd13b xmv: do not leak memory in the error paths in xmv_read_header()
CC: libav-stable@libav.org
2013-04-04 07:54:45 +02:00
Anton Khirnov d1016dccdc xmv: check audio track parameters validity.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:35 +02:00
Anton Khirnov b88f902125 bmv: check for len being valid in bmv_decode_frame().
It can be 0 or -1 for invalid files, which may result in invalid memory
access.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:27 +02:00
Anton Khirnov 8d617b11cf id3v2: pad the APIC packets as required by lavc.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:15 +02:00
Anton Khirnov 3623589edc dfa: check for invalid access in decode_wdlt().
This can happen when the number of skipped lines is not consistent with
the number of coded lines.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:07 +02:00
Anton Khirnov dbb1425811 lavf: make sure stream probe data gets freed.
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2013-04-04 07:54:00 +02:00
Anton Khirnov 6d0546bbaf avfiltergraph: set deprecated filter_count. 2013-04-04 07:52:32 +02:00
Anton Khirnov bcc9432898 opt: check the return values of av_get_token for ENOMEM. 2013-04-04 07:51:53 +02:00
Anton Khirnov 6e3c13a559 avfiltergraph: check for sws opts being non-NULL before using them.
Avoid snprintfing a NULL pointer.

CC: libav-stable@libav.org
2013-04-03 09:29:55 +02:00
Anton Khirnov f9f6402e9c configure: prettify atomics handling.
Add simpler names and a shorthand for native atomics (as opposed to
pthreads fallback).
2013-04-03 09:22:31 +02:00
Anton Khirnov 8a2f5f0c63 FATE: add a test for the join filter 2013-03-28 08:03:43 +01:00
Anton Khirnov 9e9cd98aed FATE: add a test for the volume filter 2013-03-28 08:03:31 +01:00
Anton Khirnov 43a8333a16 FATE: add a test for the channelsplit filter 2013-03-28 08:03:12 +01:00
Anton Khirnov 33942b7bde FATE: add a test for the channelmap filter 2013-03-28 08:02:55 +01:00
Anton Khirnov f917420378 FATE: add a test for the negate filter 2013-03-28 08:02:47 +01:00
Anton Khirnov 3d8c80b611 FATE: add a test for the overlay filter 2013-03-28 08:01:58 +01:00
Anton Khirnov ea290d919a FATE: add a test for the setpts filter 2013-03-28 08:01:46 +01:00