Commit Graph
100 Commits
Author SHA1 Message Date
Luca Barbato 72d30b2792 nut: add do {} while (0) to GET_V
Make it consistent with the other function-like macros.
2012-10-02 12:16:47 +02:00
Luca Barbato 1e46c63eb7 avformat: refactor avformat_write_header
Split away option settings, sanity checks and general setup.
2012-10-01 19:57:57 +02:00
Luca Barbato 86bbdf865e avformat: refactor avformat_write_header
Mostly cosmetic changes adding some intermediate to shorten the lines.
2012-10-01 19:57:57 +02:00
Luca Barbato 55f9037f38 avformat: split muxing functions from util.c 2012-10-01 19:57:57 +02:00
Luca Barbato 97cfa55eea mpegaudiodec: fix short_start calculation
The value should be always 3, as it follows from the specification.

Fix a stack buffer overflow in exponents_from_scale_factors as reported
by asan. Thanks to Dale Curtis for the sample vector.
2012-09-28 16:02:39 +02:00
Luca Barbato 0336dea2ef oggparsetheora: make it more robust 2012-09-24 22:35:29 +02:00
Luca Barbato d1f05dd183 ogg: calculate the start position once all the headers are parsed
The fisbone packets can be muxed in any order as long the last one
comes before the first data packet.
2012-09-24 22:35:29 +02:00
Luca Barbato 7751e4693d ogg: check that the expected number of headers had been parsed
Not having the header for a codec is a tell-tale of a broken file.
2012-09-24 22:35:29 +02:00
Luca Barbato 7d8431004a matroskadec: properly support BlockDuration 2012-09-19 20:34:14 +02:00
Luca Barbato c831ebf616 matroskadec: split frame parsing 2012-09-19 20:34:14 +02:00
Luca Barbato 2d0e7713f9 matroskadec: split laces parsing 2012-09-19 20:34:14 +02:00
Luca Barbato 117d8c6d1f matroska: implement support for ProRes
Support Matroska native formatting.

On demuxing prepend a Frame container atom (32bit big endian encoded
frame size and 'icpf' string).
On muxing remove it.
2012-09-19 20:34:14 +02:00
Luca Barbato 870e75524a matroskadec: validate lace_size when parsed
Stricter validation, explicitly exit on misparsing and some error
forwarding from the ebml parsing functions used.
2012-09-19 20:34:14 +02:00
Luca Barbato c9a39cec70 matroskadec: return meaningful errors in matroska_decode_buffer 2012-09-19 20:34:14 +02:00
Luca Barbato 8d4dd55c37 matroskadec: refactor matroska_decode_buffer
Make MATROSKA_TRACK_ENCODING_COMP_HEADERSTRIP behave like
the other encodings and spare few lines of boilerplate code.
2012-09-19 20:34:14 +02:00
Luca Barbato 581281e242 matroskadec: check realloc in lzo encoding
Make all the compression encodings behave the same way.
2012-09-19 20:34:13 +02:00
Luca Barbato cd4739c4f2 matroska: honor error_recognition on unknown doctypes 2012-09-19 20:34:13 +02:00
Luca Barbato 9888ffb1ce mov: check for EOF in long lasting loops
A quite widespread pattern in the demuxer is read a 32bit unsigned
integer and then loop till this value is reached.

Checking for EOF prevents pathological situations.
2012-09-18 15:32:52 +02:00
Luca Barbato 419ffb2390 avcodec: cleanup utils.c 2012-09-18 15:32:52 +02:00
Luca Barbato 4ed5ac50d3 file: return proper error on seek failures 2012-09-16 15:37:14 +02:00
Luca Barbato 3f7fd59d15 avformat: fix typo in avformat_close_input
The condition should not be &&.
2012-09-15 20:23:39 +02:00
Luca Barbato 714508bcb9 vorbisdec: ensure FASTDIV denominator is never 1
In both usages of FASTDIV the denominator might be 1.

Using a branch could make the function slower than using a normal
division.

Both denominator and numerator can be multiplied by 2 safely and
using shifts is faster than using a branch.
2012-09-14 14:26:27 +02:00
Luca Barbato 44272c1ccc avformat: refactor avformat_close_input
Do not crash if the input format is not allocated yet.
2012-09-14 14:26:27 +02:00
Luca Barbato 4d1f443c3d avformat: simplify avformat_close_input
avio_close checks by itself for NULL condition.
2012-09-14 14:26:27 +02:00
Luca Barbato 28165fee1b yadif: cosmetics 2012-09-09 15:31:18 +02:00
Luca BarbatoandMartin Storsjö 0db2d94280 dsputil: workaround __VA_ARGS__ missing tokenization for MSVC
A second expansion forces the preprocessor to tokenize properly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-05 17:07:24 +03:00
Luca Barbato 3093939077 avio: make avio_close NULL the freed buffer 2012-09-04 15:04:46 +02:00
Luca Barbato a684267076 pixdesc: cosmetics 2012-09-04 14:55:31 +02:00
Luca Barbato e0f7a9f6e7 huffyuv: update to current coding style 2012-08-27 13:26:58 +02:00
Luca Barbato f76e47877c huffman: update to current coding style 2012-08-27 13:26:58 +02:00
Luca Barbato 4aa3d7b3f2 libvpxenc: use the default bitrate if not set
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-17 12:47:45 +02:00
Luca Barbato 0f64cd1e81 mjpegdec: more meaningful return values 2012-08-17 01:29:19 +02:00
Luca Barbato fb96c1c5fe rtmp: handle bytes read reports
0x03 (bytes read report) is a known type and should be safely ignored
beside in debug situations.
2012-08-13 21:03:59 +02:00
Luca Barbato 82613564cf rtmp: send check_bw as notification
Set the transactionId to 0 to signal the server a return _result/_error
is not expected.

Solves the problems experienced with strict rtmp servers.
2012-08-08 14:22:34 +02:00
Luca Barbato 41f43202cf flvdec: remove spurious use of stream id
We match streams by codec id now.
2012-07-29 17:18:03 +02:00
Luca BarbatoandAnton Khirnov 681ed00099 avf: introduce nobuffer option
Useful in cases where a significant analyzeduration is
still needed, while minimizing buffering before output.

An example is processing low-latency streams where all
media types won't necessarily come in if the
analyzeduration is small.

Additional changes by Josh Allmann <joshua.allmann@gmail.com>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-07-29 07:58:00 +02:00
Luca BarbatoandDiego Biurrun 51a5ddfa01 libopenjpeg: K&R formatting cosmetics 2012-07-22 04:05:45 +02:00
Luca Barbato ce64e5bfd1 libopenjpeg: introduce lowres and lowqual private options
OpenJPEG can decode in lower resolution or decode only a number
of enhancement layers.
2012-07-20 13:23:18 +02:00
Luca Barbato 45ff9e5b57 doc: update api changes with the right commit hashes 2012-07-14 20:07:25 +02:00
Luca Barbato f3e5e6f05b mem: introduce av_malloc_array and av_mallocz_array
Both function ease allocating large arrays implementing the overflow
check inside it.
2012-07-14 20:07:25 +02:00
Luca Barbato f6687bf5f8 xtea: invert branch and loop precedence
Should slightly improve performance depending on the compiler used.
2012-07-05 10:42:00 +02:00
Luca Barbato 669bbedfa8 blowfish: invert branch and loop precedence
Should slightly improve performance depending on the compiler used.
2012-07-05 10:40:13 +02:00
Luca Barbato 5b54a90c8b flvdec: optionally trust the metadata
In certain conditions video or audio frames might appear way later in the
stream.
2012-07-05 10:37:34 +02:00
Luca Barbato 09a445ce34 flvdec: initial stream switch support
Codec change midstream gets mapped to a separate stream.
2012-07-03 15:35:51 +02:00
Luca Barbato 906f9dce85 avplay: fix write on freed memory for rawvideo
Do not assume avpacket and the decoded frames are independent.

To be absolutely sure and not sprinkle av_free_packet around the code
the call had been placed before getting the frame and on the error path.
2012-07-03 15:35:51 +02:00
Luca BarbatoandDiego Biurrun 1cb34ea4fe flvenc: K&R formatting cosmetics 2012-06-28 13:05:43 +02:00
Luca Barbato d2d193c9b6 doc: document THREAD_TYPE fate variable 2012-06-14 21:21:06 +02:00
Luca Barbato 21e2dc9fb7 flv: support stream text data as onTextData
Adobe specifies onTextData as the standard message to use to deliver
text information.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-06-03 03:36:01 +02:00
Luca Barbato 43b50e62c4 avprobe: correctly set the default formatter 2012-05-29 14:09:43 -07:00
Luca Barbato 528995589f avprobe: move formatter functions in the context
Avoid possible clashes.
2012-05-29 11:00:12 -07:00
Luca Barbato 70026be8e5 avprobe: fix function prototype
Make opt_output_format return the correct value.
2012-05-25 16:41:47 -07:00
Luca Barbato f4dd6465e9 avprobe: changelog entry 2012-05-25 14:20:34 -07:00
Luca Barbato 6a6c2a94c5 avprobe: update documentation
Update the documentation according to the latest changes
2012-05-25 14:20:34 -07:00
Luca Barbato 0d242a7713 avprobe: provide JSON output
JSON usage is quite widespread.
2012-05-25 14:20:34 -07:00
Luca Barbato 3a8c95f730 avprobe: output proper INI format
Make the output valid INI serialization.
2012-05-25 14:20:34 -07:00
Luca Barbato beb33fca69 avprobe: improve formatting
Do not use decimals if not needed.
2012-05-25 14:20:34 -07:00
Luca Barbato c6eeb9b7b6 rtmp: fix url parsing
The application component can have a subcomponent to specify the
application instance even if it doesn't have a ":" in the playpath.
2012-05-25 14:20:34 -07:00
Luca Barbato b0970a69d1 fate: document TARGET_EXEC and its usage
TARGET_EXEC allows running FATE on simulators, remote targets and
memory checkers. Also document a known issue with Wine and mixed
Unix/Windows line ending.
2012-05-25 14:20:33 -07:00
Luca Barbato 5699884c2e sctp: Initial tcp-alike sctp support with streams
Signed-off-by: Jordi Ortiz <nenjordi@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-05-08 16:06:49 -07:00
Luca Barbato e004bc16a1 doc: clarify check for NULL pointer style
Our code should be terse and clear.
2012-05-06 15:47:10 -07:00
Luca Barbato 0ca4642ec5 mkv: mark corrupted packets and return them
Do return error if memory allocation or I/O fails.
2012-04-29 20:22:09 -07:00
Luca Barbato 721af294d9 mkv: forward EMBL block data error
Do not return 0 on error.
2012-04-29 20:22:09 -07:00
Luca Barbato ccc2dfbcdf avcodec: cosmetic cleanup on header
Apply coding style to the structs.
2012-04-29 13:30:40 -07:00
Luca Barbato 3b52e9da10 segment: reorder seg_write_header allocation
As pointed by Paul B Mahol <onemda@gmail.com> the previous code could
lead to null pointer dereference.
2012-04-27 14:03:43 -07:00
Luca Barbato e1e146a2d1 avio: make avio_close(NULL) a no-op
Its behaviour in line with ffurl_close(NULL).
2012-04-27 14:03:43 -07:00
Luca Barbato 8b97ae6484 avf: fix faulty check in has_duration
An invalid duration is AV_NOPTS_VALUE not 0.
2012-04-25 11:40:22 -07:00
Luca Barbato 1381081cdb avconv: fix off by one check in complex_filter
nb_input_files is already an invalid index.
2012-04-22 17:23:50 -07:00
Luca Barbato ac97d47d9b mkv: use av_reduce instead of av_d2q for framerate estimation
It avoids some rounding errors.
2012-04-17 16:37:42 -07:00
Luca Barbato 204bcdf56c mkv: report average framerate as minimal as well
This is in line with other demuxers and overall seems more correct
than assuming codec time base.
2012-04-17 15:47:22 -07:00
Luca Barbato 6943fb47d3 avplay: update get_buffer to be inline with avconv
The buffer must have its dimension, pixel format and aspect ratio
set.
2012-04-16 15:12:03 -07:00
Luca Barbato cbf767a87c avf: has_duration does not check the global one
Some container formats report a global duration, but not a per stream
one.
2012-04-13 12:03:16 -07:00
Luca BarbatoandMartin Storsjö ebbede2265 movenc: small refactor mov_write_packet
Share the formerly internal write_packet with the hinter and move the
fragment flush logic to the user facing one since it is not concerned
about movtrack-only streams.

Fixes bug #263

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-11 14:38:37 +03:00
Luca BarbatoandMartin Storsjö 18b59956e0 movenc: remove redundant check
The proper check is already in mov_write_header.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-04-11 14:38:36 +03:00
Luca Barbato 93f6d0475f avf: make the example output the proper message
av_dump_format needs the codecs opened in order to print
them.
2012-03-29 17:07:19 -07:00
Luca Barbato 28db30aa29 avf: fix audio writing in the output-example
av_init_packet does not reset data and size fields in AVPacket,
avcodec_encode_audio2 can use preallocated AVPacket.
2012-03-29 17:07:19 -07:00
Luca Barbato af49e1766b v4l2: update documentation
Update the examples and remove stale information.
Video4linux support had been already removed.
2012-03-07 10:03:10 -08:00
Luca Barbato 0c1759ac4b segment: implement wrap around
Provide a way to wrap around the segment index so pseudostreaming
live through a web server and html5 browser is simpler.

Also ensure that 0 (disable) is a valid value across the options
providing wrap around.
2012-02-28 15:01:20 +01:00
Luca Barbato ee42df8a35 avf: reorder AVStream and AVFormatContext 2012-02-28 15:01:20 +01:00
Luca Barbato 6b8b0fe2bc doxy: remove reference to removed api 2012-02-19 19:10:28 +01:00
Luca Barbato aac63cef20 examples: unbreak compilation
Update api so it will compile again.
2012-02-19 19:10:28 +01:00
Luca Barbato 0c50edb789 doc: fix stray reference to FFmpeg 2012-01-10 05:04:22 +01:00
Luca Barbato b6db385922 v4l2: use C99 struct initializer
Remove some unneeded memsets.
2012-01-10 05:04:22 +01:00
Luca Barbato 0efd48dfd1 v4l2: poll the file descriptor
Instead of busy waiting use poll();
2012-01-10 05:04:22 +01:00
Luca Barbato b8c310cb0a v4l2: support compressed formats
Let pass the codec name to -pixel_format and introduce -input_format.
2012-01-10 05:04:22 +01:00
Luca Barbato a6a4793d04 v4l2: list available formats
Make use of the experimental framesize enumeration ioctl if available.
2012-01-04 13:10:20 +01:00
Luca Barbato cd2bbad303 v4l2: set the proper codec_tag
Unbreak direct streamcopy.
2012-01-04 13:10:20 +01:00
Luca Barbato eb89b4fc09 v4l2: refactor device_open
Check capabilities directly in the function, further simplify the code.
2012-01-04 13:10:20 +01:00
Luca Barbato 246007d370 v4l2: simplify away io_method
Only mmap is supported.
2012-01-04 13:10:20 +01:00
Luca Barbato a896d7f45a v4l2: cosmetics 2012-01-04 13:10:20 +01:00
Luca Barbato 21aa6ae4fb v4l2: uniform and format options 2012-01-04 13:10:20 +01:00
Luca Barbato af7123b2ad v4l2: do not force interlaced mode
Video4linux2 supports both interlaced and non-interlaced mode, do not
ask for interlaced if not necessary.
2012-01-04 13:10:20 +01:00
Luca Barbato 762b21f9f7 doxygen: cleanup style to support older doxy
Doxygen 1.7.5.1 had been used as reference while certain distributions
provide older and not fully compatible versions.
2011-12-29 17:19:46 +01:00
Luca Barbato 9f3c77dd2a fate: account for NUT 10bit support
Some libavifilter tests use NUT as output even if the produced
files were not decodable. The support for 10bit introduced in
432f0e5b7d and 91b1e6f0c changed the hashes.
2011-12-21 03:01:18 +01:00
Luca Barbato 91b1e6f0c6 raw: add 10bit YUV definitions
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-21 00:00:03 +01:00
Luca Barbato 432f0e5b7d nut: support 10bit YUV
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-21 00:00:03 +01:00
Luca Barbato 1c66862472 mpegts: rename payload_index to payload_size
It holds the size of the current payload.
2011-12-19 18:31:28 +01:00
Luca Barbato 02e8f03296 segment: introduce segmented chain muxer
It behaves similarly to image2 muxer
2011-12-19 18:31:28 +01:00
Luca Barbato 1ee5b5e823 lavu: add AVERROR_BUG error value
It should be used to mark codepath that can be reached only through
programming error.
2011-12-19 18:31:28 +01:00
Luca Barbato 4badb386ce lavf: dealloc private options in av_write_trailer
Fix the iformat/oformat typo.
2011-12-13 17:03:08 +01:00
Luca Barbato d32eed5c73 yadif: support 10bit YUV
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 17:02:55 +01:00