* newdev/master:
mpegts: propagate avio EOF in read_packet()
configure: Initial support for --target-os=symbian
Fixed-point FFT and MDCT
Include dependencies for test programs
ac3enc: simplify sym_quant()
flvdec: read index stored in the 'keyframes' tag.
mov: Add support for zero-sized stsc runs.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Allows distinguishing between EOF and IO error in read_packet return code.
Signed-off-by: Jindrich Makovicka <makovick@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
* newdev/master:
rtsp: Use GET_PARAMETER for keep-alive for generic RTSP servers
mlp_parse.c: set AVCodecContext channel_layout
APIChanges: mark the place where 0.6 was branched.
avio: make get_checksum() internal.
avio: move ff_crc04C11DB7_update() from avio.h -> avio_internal.h
avio: make init_checksum() internal.
NOT MERGED Add MxPEG decoder
NOT MERGED Add support for picture_ptr field in MJpegDecodeContext
NOT MERGED Move MJPEG's input buffer preprocessing in separate public function
NOT MERGED Support reference picture defined by bitmask in MJPEG's SOS decoder
sndio bug fix
Merged-by: Michael Niedermayer <michaelni@gmx.at>
'keyframes' metatag is not part of the standard, it is just
convention to use such kind of metatag information for indexing.
Structure is following, it allows to have it inconsistent:
keyframes:
times (array):
time0 (num)
time1 (num)
time2 (num)
filepositions (array)
position0 (num)
position1 (num)
Signed-off-by: Anton Khirnov <anton@khirnov.net>
A zero sized stsc run doesn't make a lot of sense but the spec does not
prohibit them and MPlayer VLC demuxers support them.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
According to the RFC, GET_PARAMETER should be used for
this, and according to a report from Tim Ouellette,
OPTIONS doesn't work for keeping the connection alive for some
servers. Also, live555 uses GET_PARAMETER for this purpose.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* ffmpeg-mt/master:
Update todo. More items appeared...
Fix mdec
Duplicate: id3v1: change filesize to int64_t.
Duplicate: id3v1: Seek back to old position after reading.
Conflicts:
libavcodec/mpegvideo.c
libavcodec/snow.c
libavformat/id3v1.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
FFmpeg did not seek back to the original position, but to "0", making
reading a VBR tag impossible.
(issue 2645)
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* newdev/master:
ac3enc: avoid memcpy() of exponents and baps in EXP_REUSE case by using exponent reference blocks.
Chronomaster DFA decoder
DUPLICATE: framebuffer device demuxer
NOT MERGED: cosmetics: fix dashed line length after 070c5d0
http: header field names are case insensitive
Conflicts:
LICENSE
README
doc/indevs.texi
libavdevice/fbdev.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
Amazon S3 sends header field names all lowercase.
This is actually acceptable according to the HTTP standard.
http://tools.ietf.org/html/rfc2616#section-4.2
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* newdev/master:
mov: set audio service type for AC-3 from bitstream mode in the 'dac3' atom.
Get audio_service_type for AC-3 based on bitstream mode in the AC-3 parser and decoder, and vice-versa for the AC-3 encoder.
Use audio_service_type to set stream disposition.
Add APIchanges entry for audio_service_type.
Add audio_service_type field to AVCodecContext for encoding and reporting of the service type in the audio bitstream.
configure: in check_ld, place new -l flags before existing ones
support @heading, @subheading, @subsubheading, and @subsubsection in texi2pod.pl
doc: update build system documentation
aacenc: indentation
aacenc: fix the side calculation in search_for_ms
vp8.c: rename EDGE_* to VP8_EDGE_*.
Conflicts:
doc/APIchanges
libavcodec/avcodec.h
libavcodec/version.h
libavcodec/vp8.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* newdev/master:
matroskadec: set default duration for simple block
When building for MinGW32 disable strict ANSI compliancy.
ARM: fix ff_apply_window_int16_neon() prototype
configure: check for --as-needed support early
ARM: NEON optimised apply_window_int16()
ac3enc: NEON optimised shift functions
ac3enc: NEON optimised ac3_max_msb_abs_int16 and ac3_exponent_min
mpeg12.c: fix slice threading for mpeg2 field picture mode.
ffmetadec.c: fix compiler warnings.
configure: Don't explicitly disable ffplay or in/outdevices on dos
configure: Remove the explicit disabling of ffserver
configure: Add fork as a dependency to ffserver
Merged-by: Michael Niedermayer <michaelni@gmx.at>
When a normal Block is parsed, duration is initialized to
AV_NOPTS_VALUE. If it is not changed, then the track's default
duration is used. But for SimpleBlock, duration is initialized to
0 instead of AV_NOPTS_VALUE. This is due to the difference in how
EBML_NEST vs EBML_PASS are processed. Setting duration to 0 leads
eventually to wrongly estimate the frame duration in util.c
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* newdev/master:
avio: make udp_set_remote_url/get_local_port internal.
asfdec: also subtract preroll when reading simple index object
matroskaenc: remove a variable that's unused after bc17bd9.
avio: cosmetics - nicer vertical alignment.
Remove unnecessary icc version checks
Disable 'attribute "foo" ignored' warnings from icc
rtsp: Don't use a locale dependent format string
Add xd55 codec tag for XDCAM HD422 720p25 CBR files.
configure: get libavcodec version from new version.h header
lavc: move the version macros to a new installed header.
matroskaenc: simplify get_aac_sample_rates by using ff_mpeg4audio_get_config
Do not use format string "%0.3f" for RTSP Range field.
Add apply_window_int16() to DSPContext with x86-optimized versions and use it in the ac3_fixed encoder.
Document usage of import libraries created by dlltool
configure: Set the correct lib target for arm/wince dlltool
fate: simplify regression-funcs.sh
fate: add support for multithread testing
Conflicts:
libavformat/rtspdec.c
libavutil/attributes.h
libavutil/internal.h
libavutil/mem.h
Merged-by: Michael Niedermayer <michaelni@gmx.at>
* newdev/master: (33 commits)
Fix an infinite loop when RoQ encoded generated a frame with a size greater than the maximum valid size.
Add kbdwin.o to AC3 decoder
Detect byte-swapped AC-3 and support decoding it directly.
cosmetics: indentation
Always copy input data for AC3 decoder.
ac3enc: make sym_quant() branch-free
cosmetics: indentation
Add a CPU flag for the Atom processor.
id3v2: skip broken tags with invalid size
id3v2: don't explicitly skip padding
Make sure kbhit() is in conio.h
fate: update wmv8-drm reference
vc1: make P-frame deblock filter bit-exact.
configure: Add the -D parameter to the dlltool command
amr: Set the AVFMT_GENERIC_INDEX flag
amr: Set the pkt->pos field properly to the start of the packet
amr: Set the codec->bit_rate field based on the last packet
rtsp: Specify unicast for TCP interleaved streams, too
Set the correct target for mingw64 dlltool
applehttp: Change the variable for stream position in seconds into int64_t
...
Conflicts:
ffmpeg.c
ffplay.c
libavcodec/ac3dec.c
libavformat/avio.h
libavformat/id3v2.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
This allows libavformat to guess an estimated duration for
amr files.
For streams with varying bit rates (or with silence descriptors
or "no frame" blocks) the guess is, of course, inaccurate.
According to the RFC, the default is multicast if nothing is
specified, which doesn't make sense for TCP.
According to a bug report, some Axis camera models give a
"400 Bad Request" error if this is omitted.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
A similar variable for the total stream duration was changed to
int64_t in b79c3df088, due to overflows in some odd
streams.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
It's an evil hack that assumes an AVIOContext is always based on top of
an URLContext.
It's also not used anywhere.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
Turns a comment into an av_dlog() instruction, also add a commented
issues.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 77f21ce464)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
Functions interrupted by url_interrupt_cb should not be restarted.
Therefore using AVERROR(EINTR) was wrong, as it did not allow to distinguish
when the underlying system call was interrupted and actually needed to be
restarted.
This fixes roundup issues 2657 and 2659 (ffplay not exiting for streamed
content).
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
In the event of overflow, the JV_PADDING state will avio_skip over
any overflow bytes (using JVFrame.total_size).
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
In the main loop, stream_number is incremented after checking the stream type,
so the search usually will not find the wanted stream.
This patch eliminates the useless stream_number variable and introduces a new
one, called real_stream_index to store the real stream index of the current
stream, no matter if we are looping through all the streams or only the streams
of a program.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This is used at least on some older DVB broadcasts for dual-mono audio
tracks.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 6a7e074eb9)
when writing and pressing q during encoding. Instead, check url_interrupt_cb
at the end.
Note that when a protocol is interrupted by url_interrupt_cb, some data may
be silently discarded: the protocol context is not suitable for anything
anymore.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 688c22e033)
AVIOContext.max_packet_size should be used directly instead.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit e8bb2e2439)
It's not used anywhere and doesn't look ver useful to be public.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 655e45e7df)
If this flag is set, the protocol can handle URLs where the
scheme is a nested scheme such as applehttp+file: - the protocol
can handle any URL where the first segment of the nested scheme
belongs to this protocol.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 8f73c06077)
when writing and pressing q during encoding. Instead, check url_interrupt_cb
at the end.
Note that when a protocol is interrupted by url_interrupt_cb, some data may
be silently discarded: the protocol context is not suitable for anything
anymore.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
This is a substitute for the url_fskip function that was deprecated by
commit 0300db8ad7. avio_fskip is provided to
improve demuxer code readability. It distinguishes the act of skipping over
unknown or irrelevant bytes from the standard avio_seek operation.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
If this flag is set, the protocol can handle URLs where the
scheme is a nested scheme such as applehttp+file: - the protocol
can handle any URL where the first segment of the nested scheme
belongs to this protocol.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>