Commit Graph

11469 Commits

Author SHA1 Message Date
Martin Storsjö
91c1567beb segment: Add comments about calls that only are relevant for some muxers
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 18:22:47 +03:00
Michael Niedermayer
0f1446a4d0 Merge commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b'
* commit 'ab35ec29a4071871934856c00da7d6ebcc0c095b':
  vf_overlay: get rid of pointless messing with timebase.
  samplefmt: make av_samples_alloc() initialize the data to silence.
  libspeexdec: handle NULL return value from speex_packet_to_header()
  h264probe: Don't error out on bits that no longer are reserved
  mpegvideo: set extended_data in ff_update_duplicate_context()
  libspeexdec: properly handle DTX for multiple frames-per-packet
  libspeexdec: move the SpeexHeader from LibSpeexContext to where it is used
  libspeexdec: simplify setting of frame_size
  libspeexdec: set channel_layout

Conflicts:
	libavfilter/vf_overlay.c
	libavformat/h264dec.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 13:11:45 +02:00
Martin Storsjö
a854362b40 segment: Flush buffered data before finishing a segment
This makes sure any buffered data is written to the segment, for
muxers that buffer up data internally (e.g. fragmented mp4).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
f7b240434c segment: Set the resend_headers flag for each segment
This makes sure new inline headers are emitted when the next
packet is written. This allows segmenting mpegts without calling
write_header/write_trailer (nor freeing/reiniting the muxer)
for each segment.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
378a6315b7 segment: Add an option for disabling writing of a header/trailer to each segment
Some segmented formats (such as fragmented mp4) are "bare", as in,
the segment files do not have the same headers/trailers as full normal
files of that format have.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
eb447d5159 segment: Free and reinit the muxer before calling avformat_write_header
This makes sure the muxers are set up in the way they expect
with no data left around from the previous run (which could
cause various issues including memory leaks, depending on the chaine
muxer).

This fixes memory leaks with the mpegts and flv muxers. It also
makes the usage of chained muxers correct.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
73871dc96f segment: Use the public av_write_header/av_write_trailer functions
With this change, the segmenter muxer doesn't rely on anything
not available/supported to libavformat external users, making
the segmenter muxer do things just like a normal segmenter
application using libavformat would do.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
0edae4e628 segment: Properly create new AVStreams for the chained muxer
Before, the chained muxer reused the AVStreams array from
the outer muxer, which made it impossible to use the proper
public functions (such as av_write_frame) when calling the
chained muxer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
c864c3968a segment: Add an option for omitting the first header and final trailer
This allows writing totally bare segments, without any header/trailer
included anywhere.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:09 +03:00
Martin Storsjö
aa9f128b7c segment: Add a missing space
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 13:52:08 +03:00
Michael Niedermayer
b02493e476 movenc: force video timebase to be 0.1ms precisse at least.
The timebases before where only guranteed to be 1/fps precisse
and could cause AV sync errors on low fps

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-04 01:33:49 +02:00
Michael Niedermayer
769ed3057e h264probe: Don't error out on bits that no longer are reserved
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-04 00:59:34 +03:00
Michael Niedermayer
5e6439a125 ff_choose_timebase: only try factors upto 14
otherwise a unexpected timebase could be choosen
that is one that is thousand times more precisse than requested
which can have sideeffects.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 21:38:56 +02:00
Michael Niedermayer
de707bc8bd mux/nut: factorize ff_choose_timebase() out of nut
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 21:34:43 +02:00
Michael Niedermayer
dc82b2c0f1 framecrcenc: print flags and side data elements
The new fields are only printed when they differ from their defaults
this way only few fate refs change

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 16:51:30 +02:00
Michael Niedermayer
7e5496fc41 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: use numeric ID for Tag_ABI_align_preserved
  segment: Pass the interrupt callback on to the chained AVFormatContext, too
  ARM: bswap: drop armcc version of av_bswap16()
  ARM: set Tag_ABI_align_preserved in all asm files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 13:35:02 +02:00
Martin Storsjö
4edb34f6cc segment: Pass the interrupt callback on to the chained AVFormatContext, too
This might not be needed at the moment, but it's good practice to
pass it to all chained AVFormatContexts, if it would happen to be
used there at a later point.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-10-02 22:14:07 +02:00
Michael Niedermayer
032ba74ed2 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  ARM: fix Thumb PIC on Apple
  nut: add do {} while (0) to GET_V
  tiffenc: Check av_malloc() results.
  tiffenc: Simplify pixel format setup using AVPixFmtDescriptor.
  Use atexit() instead of defining a custom exit_program() interface.
  msvc: Fix detection of VFW & Avisynth required libs

Conflicts:
	ffmpeg.c
	ffmpeg_opt.c
	ffplay.c
	ffprobe.c
	ffserver.c
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 19:48:54 +02:00
Michael Niedermayer
dd78e1090b Merge commit '1e46c63eb72be752e044ba32257d77f35cbd9dac'
* commit '1e46c63eb72be752e044ba32257d77f35cbd9dac':
  avformat: refactor avformat_write_header

Conflicts:
	libavformat/mux.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 18:48:56 +02:00
Michael Niedermayer
6cbbf4a274 Merge commit '86bbdf865e04bc5ddc2021b0620e6de634375253'
* commit '86bbdf865e04bc5ddc2021b0620e6de634375253':
  avformat: refactor avformat_write_header

Conflicts:
	libavformat/mux.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 18:36:09 +02:00
Michael Niedermayer
513042c926 Merge commit '55f9037f38bc3beacb2f5a17408c1d24c077d7fd'
* commit '55f9037f38bc3beacb2f5a17408c1d24c077d7fd':
  avformat: split muxing functions from util.c

Conflicts:
	libavformat/internal.h
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 18:20:24 +02:00
Michael Niedermayer
82db8ee321 Merge commit 'fd41cb43702498948ff14ba8c284fd5c15fc729d'
* commit 'fd41cb43702498948ff14ba8c284fd5c15fc729d':
  avconv: improve sample format negotiation for decoder request
  Opus encoder using libopus
  mpegts: Drop pointless casting of hex_dump_debug arguments
  avformat: const correctness for av_hex_dump / av_hex_dump_log
  wmadec: Adjust debug printf argument length modifier

Conflicts:
	Changelog
	ffmpeg.c
	libavcodec/libopusdec.c
	libavcodec/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 14:58:19 +02:00
Michael Niedermayer
f7f5370b4b mov: add option to ignore edit lists.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 14:18:46 +02:00
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
Michael Niedermayer
4abc411b97 nutenc: choose for non audio streams a timebase with finer resolution.
While a 25 fps stream can in general store frame durations in 1/25
units, this is not true for the timestamps. For example a 25fps
and a 25000/1001 fps stream when they are stored together might have
a matching 0 timestamp point but when for example a chapter from
this is cut the new start is no longer aligned. The issue gets
MUCH worse when the streams are lower fps, like 1 or 2 fps.

This commit thus makes the muxer choose a multiple of the
framerate as timebase that is at least about 20 micro seconds precise

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 01:09:12 +02:00
Michael Niedermayer
e3fb5bc147 nut: store and read the r_frame_rate
With this, when we use a finer timebase than neccessary to store
durations the demuxer still knows what the original timebase was.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 01:09:12 +02:00
Michael Niedermayer
4eb0f5f635 nutenc: use 1/sample rate as timebase for audio instead of framesize/sample rate
This way audio frames can be exactly stored even when they are not
aligned with timestamp 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-02 01:09:12 +02:00
Clément Bœsch
c4dba58f47 isom: fix redundant redeclaration of ff_mov_read_chan().
Silence a GCC warning. A leftover of the disabled version is still
available in lavf/isom.c.
2012-10-02 00:26:15 +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
Michael Niedermayer
31ab1575e5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avcodec: Convert some commented-out printf/av_log instances to av_dlog
  avcodec: Drop silly and/or broken printf debug output
  avcodec: Drop some silly commented-out av_log() invocations
  avformat: Convert some commented-out printf/av_log instances to av_dlog
  avformat: Remove non-compiling and/or silly commented-out printf/av_log statements
  Remove some silly disabled code.
  ac3dec: ensure get_buffer() gets a buffer for the correct number of channels

Conflicts:
	libavcodec/dnxhddec.c
	libavcodec/ffv1.c
	libavcodec/h264.c
	libavcodec/h264_parser.c
	libavcodec/mjpegdec.c
	libavcodec/motion_est_template.c
	libavcodec/mpegaudiodec.c
	libavcodec/mpegvideo_enc.c
	libavcodec/put_bits.h
	libavcodec/ratecontrol.c
	libavcodec/wmaenc.c
	libavdevice/timefilter.c
	libavformat/asfdec.c
	libavformat/avidec.c
	libavformat/avienc.c
	libavformat/flvenc.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 16:12:38 +02:00
Diego Biurrun
15d35bee83 mpegts: Drop pointless casting of hex_dump_debug arguments 2012-10-01 13:18:28 +02:00
Diego Biurrun
d3c40a7d1d avformat: const correctness for av_hex_dump / av_hex_dump_log 2012-10-01 13:18:28 +02:00
Diego Biurrun
72eaba5e4f avformat: Convert some commented-out printf/av_log instances to av_dlog 2012-10-01 10:24:28 +02:00
Diego Biurrun
11d4e92ed9 avformat: Remove non-compiling and/or silly commented-out printf/av_log statements 2012-10-01 10:24:28 +02:00
Michael Niedermayer
14fd34d73b movenc: fix edit list for the case of negative pts.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-01 04:53:40 +02:00
Michael Niedermayer
594b1fcb28 mov: add av_dlog() to dump edit lists.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 18:50:18 +02:00
Michael Niedermayer
3ceeb01c06 mov: only print multiple edit lists warning for actually unsupported cases
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 18:44:35 +02:00
Michael Niedermayer
44a7a6300d lavf: free probe data in case we close before probing finished
Fixes Ticket1634

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 17:33:05 +02:00
Michael Niedermayer
b96dc093ea Merge remote-tracking branch 'qatar/master'
* qatar/master:
  wmalosslessdec: increase channel_coeffs/residues size
  wmalosslessdec: increase WMALL_BLOCK_MAX_BITS to 14.
  lagarith: check count before writing zeros.
  wmaprodec: check num_vec_coeffs for validity
  avidec: use actually read size instead of requested size
  avidec: return 0, not packet size from read_packet().

Conflicts:
	libavcodec/lagarith.c
	libavcodec/wmalosslessdec.c
	libavcodec/wmaprodec.c
	libavformat/avidec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-29 15:11:34 +02:00
Anton Khirnov
0af49a63c7 avidec: use actually read size instead of requested size
Fixes CVE-2012-2788
2012-09-29 09:27:59 +02:00
Anton Khirnov
eeade678f0 avidec: return 0, not packet size from read_packet(). 2012-09-29 09:27:51 +02:00
Michael Niedermayer
c0209facd2 mov: remove default of 1024 sample skip for aac.
It is not correct in all cases and it is less predictable than a skip of 0
for user applications.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 20:30:37 +02:00
Michael Niedermayer
c402d36afa nutdec: fix get_vb_trace() / -DTRACE compile
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 14:21:53 +02:00
Michael Niedermayer
2acb5cd907 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libopus: Remap channels using libopus' internal remapping.
  Opus decoder using libopus
  avcodec: document the use of AVCodecContext.delay for audio decoding
  vc1dec: add flush function for WMV9 and VC-1 decoders
  http: Increase buffer sizes to cope with longer URIs
  nutenc: const correctness for ff_put_v_trace/put_s_trace function arguments
  h264_refs: Fix debug tprintf argument types
  golomb: const correctness for get_ue()/get_se() function arguments
  get_bits: const correctness for get_bits_trace()/get_xbits_trace() arguments

Conflicts:
	Changelog
	libavcodec/Makefile
	libavcodec/version.h
	libavformat/http.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 13:54:40 +02:00
Michael Niedermayer
7ed9ec033f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  dwt: Drop unused functions spatial_compose{53|97}i()
  nutdec: Remove unused and broken debug function stub
  avcodec: Drop long-deprecated imgconvert.h header
  Add Opus support to the Ogg muxer.
  Add Opus codec id and codec description.
  avformat: Identify anonymous AVIO typedef structs.

Conflicts:
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/imgconvert.h
	libavcodec/version.h
	libavformat/oggenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 05:11:19 +02:00
Michael Niedermayer
b4c753487c asfenc: avoid negative timestamps
Fixes Ticket1606

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-28 02:40:53 +02:00
Duncan Salerno
8bd324e9e4 http: Increase buffer sizes to cope with longer URIs
Use the MAX_URL_SIZE define where applicable. Increase buffer
sizes for all buffers that need to fit a long pathname - buffers
that need to fit only the hostname (and other short strings, but
not the pathname - such as "headers" in http_connect) are kept
at 1024 bytes for now.

Also increase the max line length in http_read_header, since it
might need to contain a full url for Location: redirects.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-28 00:09:38 +03:00
Marton Balint
13f0cd681e mxfdec: allow container_ul to override codec_ul if codec is A-law
Fixes some DNXHD files generated by AVID TM, where codec UL was set to A-law
meanwhile the real audio codec was PCM S16. According to SMPTE RP 224, A-law is
the default value for sound essence parameters therefore we should handle it
specially.

Signed-off-by: Marton Balint <cus@passwd.hu>
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 21:28:35 +02:00
Diego Biurrun
bc66827fb1 nutenc: const correctness for ff_put_v_trace/put_s_trace function arguments 2012-09-27 19:32:47 +02:00
Michael Niedermayer
279ae1cd72 lavf: move fields that appear to be intended as public API to the correct section
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 18:19:01 +02:00
Michael Niedermayer
e760424ddd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  nutdec: const correctness for get_v_trace/get_s_trace function arguments
  truemotion2: Request samples for old TM2 headers
  rtpdec: Remove a useless ff_ prefix from a static symbol
  rtpdec: Support depacketizing speex
  rtpenc: Add support for packetizing speex

Conflicts:
	libavformat/rtpdec.c
	libavformat/sdp.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 14:29:03 +02:00
Diego Biurrun
83655442fa nutdec: Remove unused and broken debug function stub 2012-09-27 12:02:33 +02:00
Nathan Caldwell
bcc1f7caeb Add Opus support to the Ogg muxer.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-27 10:48:35 +02:00
Dale Curtis
0575772fa0 avformat: Identify anonymous AVIO typedef structs.
Anonymous typedef structs prevent forward declaration, this
change gives the AVIOContext and AVIOInterruptCB structures
a name.  These structures are now in line with other common
structures such as AVFormatContext and AVCodecContext.

Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-27 09:14:22 +02:00
Clément Bœsch
a714150827 lavf/movenc: add faststart option. 2012-09-27 08:59:36 +02:00
Clément Bœsch
f379a108a4 lavf/movenc: make mov_write_stco_tag() not use the offset pos for mode64 heuristic.
At the moment, the moov header is written at the end of the file, so we
can use the current offset (which focus on the end of the mdat already
written) to guess if 64-bits offset will be required or not.

Though, the next commits will make possible the writing of this table at
the beginning, so this heuristic can't work. As a consequence, we check
all the values within the potential offset table for any value >
32-bits.
2012-09-27 08:59:36 +02:00
Clément Bœsch
e17a2aba25 lavf/movenc: add get_moov_size and use it in fragment code.
This function will be re-used in the following commits.
2012-09-27 08:59:36 +02:00
Jean First
d37044647f file: set the return value type for lseek to off_t
fixes a bug introduced with 4ed5ac50d3

Signed-off-by: Jean First <jeanfirst@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-27 01:47:49 +02:00
Michael Niedermayer
2e4ec8947d lavf: fill in past dts based on reordered pts once the delay becomes known.
Previously we had ignored the past dts and just filled in from the
point where we have had sufficient information.

This should fix Ticket1734

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 22:58:02 +02:00
Michael Niedermayer
a8e3815db5 lavf: factorize timestamp shift in update_initial_timestamps()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 22:58:02 +02:00
Diego Biurrun
93e81ee81c nutdec: const correctness for get_v_trace/get_s_trace function arguments 2012-09-26 19:10:13 +02:00
Martin Storsjö
69673138c5 rtpdec: Remove a useless ff_ prefix from a static symbol
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-26 19:05:18 +03:00
Dmitry Samonenko
b6bf1490da rtpdec: Support depacketizing speex
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-26 19:05:10 +03:00
Dmitry Samonenko
490ae95aa8 rtpenc: Add support for packetizing speex
This packetization scheme simply places the full packets into the
RTP packet without any extra header bytes.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-26 19:04:57 +03:00
Michael Niedermayer
5c4e2e8755 nutenc: avoid negative timestamps
Fixes Ticket1468

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 15:56:06 +02:00
Michael Niedermayer
3ba0dab76a lavf: Add support offset timestamps on muxing.
This allows avoiding negative timestamps.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 15:55:16 +02:00
Michael Niedermayer
e9350c44ad nutenc: remove outdated fixme
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 15:53:17 +02:00
Michael Niedermayer
299c0b30a6 lavf: fix bug that caused has_decode_delay_been_guessed() to never return !=0
Possibly fixes Ticket1724

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 04:53:03 +02:00
Duncan Salerno
4b80a619b7 Handle the following type of relative URL correctly:
http://a/b + //c/d = http://c/d
http://a/b?c + ?d = http://a/b?d
http://a/b?c/d + /e = http://a/e

Updated with feedback from Clément Bœsch

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-26 03:43:06 +02:00
Michael Niedermayer
d9d56712e9 oggparsetheora: print error when failing on unknown header
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 17:32:11 +02:00
Michael Niedermayer
abcaacf1ac Merge remote-tracking branch 'qatar/master'
* qatar/master:
  pthread: make sure AVFrame.extended_data is set properly.
  libfdk-aac: reindent after last commit
  libfdk-aac: Limit to supported sample rates.
  cbrt_tablegen: Include libm.h
  oggparsetheora: make it more robust
  ogg: prevent NULL pointer deference in theora gptopts

Conflicts:
	libavformat/oggparsetheora.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 16:11:34 +02:00
Michael Niedermayer
d3ef2da59d oggdec: add missing () for OGG_NOGRANULE_VALUE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 16:03:55 +02:00
Michael Niedermayer
0842e32f99 Merge commit 'd1f05dd18375f2f8e68372edee11436927e43ba8'
* commit 'd1f05dd18375f2f8e68372edee11436927e43ba8':
  ogg: calculate the start position once all the headers are parsed

Conflicts:
	libavformat/oggdec.c
	libavformat/oggparseskeleton.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 16:00:09 +02:00
Michael Niedermayer
4c273eb64c oggdec: print a warning if the number of headers mismatch expectations.
This is based on:
	commit 7751e4693d
	Author: Luca Barbato <lu_zero@gentoo.org>

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:34:58 +02:00
Michael Niedermayer
cc4deafed1 oggdec: print error when headers couldnt be parses successfully
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:22:05 +02:00
Michael Niedermayer
46a35959d8 Merge commit '7751e4693dd10ec98c20fbd9887233b575034272'
* commit '7751e4693dd10ec98c20fbd9887233b575034272':
  ogg: check that the expected number of headers had been parsed
  libx264: change default to closed gop to match x264cli
  Use avcodec_free_frame() to free AVFrames.
  lavf: use a malloced AVFrame in try_decode_frame().
  lavc: add avcodec_free_frame().
  lavc: ensure extended_data is set properly on decoding
  lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults()
  lavc: use av_mallocz to allocate AVFrames.
  lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults

Conflicts:
	doc/APIchanges
	doc/examples/decoding_encoding.c
	libavcodec/utils.c
	libavcodec/version.h
	libavfilter/src_movie.c
	libavformat/oggdec.c
	libavformat/oggdec.h
	libavformat/oggparsetheora.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 15:15:16 +02:00
Clément Bœsch
4390f8c28d Fix two "skiping" typo. 2012-09-25 07:42:32 +02:00
Michael Niedermayer
6bcbe768bb lavf: dont add apic streams for demuxers that dont support it.
Fixes crash
Fixes ticket1730

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25 02:47:09 +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
0336dea2ef oggparsetheora: make it more robust 2012-09-24 22:35:29 +02:00
Michael Niedermayer
bb146bb57b ogg: prevent NULL pointer deference in theora gptopts
Additional safety in case a special ogg stream is crafted
with the proper number of

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 22:35:29 +02:00
Stefano Sabatini
bbe9fe469a lavf/utils: remove loop on AVERROR(EAGAIN) in av_read_frame()
The loop was introduced in 64d340c62a, and
was likely breaking non blocking reads as it busy loops.
2012-09-24 21:16:48 +02:00
Michael Niedermayer
ff584803b7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtp: Packetization of JPEG (RFC 2435)
  smoothstreamingenc: Copy the SAR on the AVStreams as well

Conflicts:
	Changelog
	libavformat/rtpenc.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24 13:54:24 +02:00
Anton Khirnov
11d1ca4b2c Use avcodec_free_frame() to free AVFrames. 2012-09-24 12:31:25 +02:00
Anton Khirnov
9eb296572e lavf: use a malloced AVFrame in try_decode_frame().
This allows using avcodec_free_frame() to free it properly.
2012-09-24 12:31:24 +02:00
Stefano Sabatini
64d340c62a lavf/utils: add error check in av_read_frame()
In particular, fix crash when the input file contains no packets (e.g. an
ffmeta input).
2012-09-24 00:41:13 +02:00
Samuel Pitoiset
cee1950bbb rtp: Packetization of JPEG (RFC 2435) 2012-09-23 21:58:41 +03:00
Martin Storsjö
71908f0838 smoothstreamingenc: Copy the SAR on the AVStreams as well
This is required in chained muxers, if the SAR happens to be set.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-23 21:28:58 +03:00
Reimar Döffinger
033f53fb8f Document why we always send a Range HTTP header.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-09-23 15:40:17 +02:00
Clément Bœsch
2599541b3d WebVTT demuxer and decoder. 2012-09-23 15:24:08 +02:00
Dmitry Samonenko
697ea4fccf Introducing speex RTP demuxing (RFC 5574)
RTPDynamicProtocolHandler for speex is added. Initial support for
speex depacketization from RTP stream comes with it.
Currently, only codec audio rate can be applied based on sdp:
* Narrowband    ( 8K)
* Wideband      (16K)
* Ultrawideband (32K)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 14:20:13 +02:00
Dmitry Samonenko
b024c41e1e Add initial support for speex RTP packetization (RFC 5574)
* libspeex audio codec is no longer considered unsupported
  when using rtp as output format.
* SDP rtpmap is added for speex payload, formatted according to RFC

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 14:08:48 +02:00
Michael Niedermayer
f0bb88e2bc Revert "http: only send range header when necessary"
This reverts commit 48cf0f1c18.
This can cause problems with seekability detection
2012-09-23 13:21:35 +02:00
Michael Niedermayer
21c4393f1c lavf/find_stream_info: make sure we decode at least one frame for DTS
The channel layout at the demuxer layer is commonly wrong and would
otherwise be used.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 04:56:51 +02:00
Michael Niedermayer
61a84755a9 lavf: dont open a decoder at the top of find_stream_info before probing has finished
It could open the wrong decoder.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 04:56:21 +02:00
Duncan Salerno
48cf0f1c18 http: only send range header when necessary
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 02:36:08 +02:00
Duncan Salerno
0a8cc1179a http: larger buffer for long URIs
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 02:35:42 +02:00
rogerdpack
641c0eea0b bitmap header lookup: add code comment
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 02:12:34 +02:00
Michael Niedermayer
697b476c07 wav: Fix DTS detection
Fixes Ticket1474

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 01:22:16 +02:00
Michael Niedermayer
a9f522d1b7 lavf: document request_probe properly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 01:22:16 +02:00
Michael Niedermayer
a380f82c53 lavf: allow using request_probe as a score threshold to accept a codec
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-23 01:22:16 +02:00
Michael Niedermayer
28e88a24f6 rtsp: fix "warning: ret may be used uninitialized in this function"
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 04:49:04 +02:00
Michael Niedermayer
0079232299 rtsp: kill a pointer type warning (void **) vs. (AVFormatContext **)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-22 04:45:12 +02:00
Clément Bœsch
ea5bd7ea6f lavf/oggdec: check for begin-of-stream flag in case of chained streams.
Fix Ticket #1617, revealing a regression I introduced in 8f3eebd.

We need to make sure no stream is added in between Ogg context save and
restore operations (because it would likely lead to a mismatch between
ogg->nstreams and AVFormatContext->nb_streams after the restore op).
This is the reason the ogg->state check is added in ogg_new_stream().
Before this patch, checking for ogg->headers was preventing this:
ogg->headers is always set before any ogg save/restore (though, it was
also preventing from creating the stream when necessary).
2012-09-22 00:40:51 +02:00
Matthieu Bouron
41f7e0649f mxf: export ff_mxf_get_samples_per_frame to lavf
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 16:20:38 +02:00
Clément Bœsch
7bc70930dd lavf/movenc: add F4V flavor. 2012-09-21 15:14:11 +02:00
Michael Niedermayer
406cdddbdd Merge remote-tracking branch 'qatar/master'
* qatar/master:
  libx264: add forgotten ;
  matroskadec: fix a sanity check.
  matroskadec: only return corrupt packets that actually contain data
  lavf: zero data/size of the packet passed to read_packet().
  ARM: use 2-operand syntax for ADD Rd, PC in Apple PIC code
  ARM: align PIC offset pools to 4 bytes
  ARM: swap source operands in some add instructions
  configure: update tms470 detection for latest version
  lavf probe: prevent codec probe with no data at all seen
  motion_est: fix use of inline on extern functions

Conflicts:
	libavcodec/motion_est_template.c
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 14:44:32 +02:00
Anton Khirnov
87b017a298 matroskadec: fix a sanity check. 2012-09-21 09:15:07 +02:00
Anton Khirnov
bdb939ad73 matroskadec: only return corrupt packets that actually contain data
Fixes bug 372.
2012-09-21 09:15:01 +02:00
Anton Khirnov
1cc569ddda lavf: zero data/size of the packet passed to read_packet(). 2012-09-21 09:14:37 +02:00
Michael Niedermayer
fb96ac469a nutdec: fix mixup of nb_streams and timebase_count
Fixes out of array read, should fix ffprove fate failure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 06:29:24 +02:00
Michael Niedermayer
6ab1166c77 nutdec: fix type of intermediate variable for ts calculation.
Prior to this it could theoretically become negative and read
out of array.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-21 06:27:38 +02:00
Michael Niedermayer
a6ec1e49f6 matroskadec: matroska_parse_rm_audio: remove unused parameter
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 23:43:20 +02:00
Michael Niedermayer
6d87781758 mp3dec: fix seeking without xing TOC
fixes regression from the xing toc support

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 22:00:52 +02:00
Michael Niedermayer
5864ce13d1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mp3dec: read Xing frame TOC index
  mp3dec: use named constants for Xing header flags
  libx264: add support for nal-hrd, required for Blu-ray streams.
  mov: support random access point grouping
  matroskadec: properly support BlockDuration

Conflicts:
	libavcodec/libx264.c
	libavformat/isom.h
	libavformat/matroskadec.c
	libavformat/mov.c
	libavformat/mp3dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 21:46:35 +02:00
Michael Niedermayer
8c51ea5489 Merge commit 'c831ebf61629d219ebcaa9f02d262e67aad09d83'
* commit 'c831ebf61629d219ebcaa9f02d262e67aad09d83':
  matroskadec: split frame parsing
  matroskadec: split laces parsing

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 20:39:47 +02:00
Michael Niedermayer
b8044972c4 Merge commit '117d8c6d1f1c187ffc6098d9618457e00534e013'
* commit '117d8c6d1f1c187ffc6098d9618457e00534e013':
  matroska: implement support for ProRes
  matroska: implement support for ALAC

Conflicts:
	libavformat/matroskaenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 19:43:38 +02:00
Michael Niedermayer
0da50055eb matroskadec: fix typo
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 19:12:07 +02:00
Michael Niedermayer
6902c3acb0 Merge commit '870e75524aa0d00ebcd1d15589c8d29b84af1565'
* commit '870e75524aa0d00ebcd1d15589c8d29b84af1565':
  matroskadec: validate lace_size when parsed

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 19:11:46 +02:00
Janne Grunau
6746cd7f61 lavf probe: prevent codec probe with no data at all seen
This occurs with fuzzed mpeg-ts files. set_codec_from_probe_data() is
called with a zeroed AVProbeData since no packet made through for
specific stream.
2012-09-20 14:50:06 +02:00
Michael Niedermayer
a16c512374 Merge commit 'c9a39cec70603f662f4c326b21b11c4f0112079a'
* commit 'c9a39cec70603f662f4c326b21b11c4f0112079a':
  matroskadec: return meaningful errors in matroska_decode_buffer
  matroskadec: fix incorrect unsigned->signed conversion

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 13:40:47 +02:00
Michael Niedermayer
1df2e3c707 Merge commit '8d4dd55c37b14ecea596f3477b35bf6c20688d8b'
* commit '8d4dd55c37b14ecea596f3477b35bf6c20688d8b':
  matroskadec: refactor matroska_decode_buffer

Conflicts:
	libavformat/matroskadec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 13:32:43 +02:00
Michael Niedermayer
db0087dc1d mxfdec: fix index_tables check in mxf_read_seek()
Approved-by: Tjoppen
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 12:54:00 +02:00
Michael Niedermayer
61ced71d79 Merge commit '581281e242609a222233a2e5538b89dfb88fb18e'
* commit '581281e242609a222233a2e5538b89dfb88fb18e':
  matroskadec: check realloc in lzo encoding
  matroska: honor error_recognition on unknown doctypes
  tiffdec: Add support for GRAY16LE.
  tiffenc: Add support for little endian RGB48 and GRAY16
  mpeg4: support frame parameter changes with frame-mt
  mpegvideo: check ff_find_unused_picture() return value for errors
  mpegvideo: release frame buffers before freeing them
  configure: msvc: default to 'lib' as 'ar' tool
  build: support some non-standard ar variants

Conflicts:
	libavcodec/h263dec.c
	libavcodec/mpegvideo.c
	libavcodec/tiff.c
	libavcodec/tiffenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 03:20:29 +02:00
Matthieu Bouron
d57ca5e5a8 mxfenc: support 23.976 and 24 frame rates
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 02:40:18 +02:00
Matthieu Bouron
906a263813 mxfenc: factorize samples per frame code
Reviewed-by: Tomas Härdin <tomas.hardin@codemill.se>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-20 02:40:10 +02:00
Michael Niedermayer
168bc5f2c5 mov: fix 32/64 format type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 23:36:35 +02:00
Anton Khirnov
50d1f4437b mp3dec: read Xing frame TOC index 2012-09-19 20:59:45 +02:00
Anton Khirnov
2d1a1a7f62 mp3dec: use named constants for Xing header flags 2012-09-19 20:59:44 +02:00
Yusuke Nakamura
d17d0ec8c2 mov: support random access point grouping
Frames described by this grouping are the starter of a closed or
an open GOP.
This is useful for open GOP of H.264 stream which is not described
by sync sample atom.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-19 20:34:15 +02:00
Luca Barbato
c831ebf616 matroskadec: split frame 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
7d8431004a matroskadec: properly support BlockDuration 2012-09-19 20:34:14 +02:00
Luca Barbato
2d0e7713f9 matroskadec: split laces parsing 2012-09-19 20:34:14 +02:00
Moritz Bunkus
8071dca3d5 matroska: implement support for ALAC
Support Matroska native formatting.

On demuxing reconstruct the 36-bytes QuickTime atom that the ALAC
decoder expects by prepending the "atom size", "tag" and
"tag version" fields missing from the Matroska's CodecPrivate
element.

On muxing remove the initial 12 bytes

Sample files are available:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska.mka
and the CoreAudio file it was created from with today's mkvmerge:
http://www.bunkus.org/videotools/mkvtoolnix/samples/alac/alac-in-matroska-source.caf

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-19 20:34:14 +02:00
Dale Curtis
df1d84121b matroskadec: fix incorrect unsigned->signed conversion 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
Michael Niedermayer
67d501b4f1 Merge commit '1b3439b3055b083df51d7f7838ecc6b3f708b15c'
* commit '1b3439b3055b083df51d7f7838ecc6b3f708b15c':
  mpegvideo: move frame size dependent memory management to separate functions
  configure: add --toolchain option
  configure: Make the smoothstreaming muxer enable the ismv muxer
  smoothstreaming: Export the mp4 codec tags
  mov: check for EOF in long lasting loops
  avcodec: cleanup utils.c
  binkaudio: remove unneeded GET_BITS_SAFE macro
  binkaudio: use float sample format
  binkaudio: use a different value for the coefficient scale for the DCT codec

Conflicts:
	configure
	libavcodec/mpegvideo.c
	libavcodec/utils.c
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-19 15:13:53 +02:00
Michael Niedermayer
8d07742cb1 avidec: workaround aac with broken block align
Fixes Ticket1742

Based on patch by: Nikola Vranic <nikola.vranic@rt-rk.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 22:39:54 +02:00
Martin Storsjö
84cc314e40 smoothstreaming: Export the mp4 codec tags
This fixes stream copy from a format that already has incompatible
codec tags set. The chained ismv muxer exports this same codec tag
list, so set it on this one as well, to allow the caller (and
lavf common code) to set them correctly.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-18 17:59:57 +03: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
Benjamin Larsson
6a08955c10 flvenc: silence bogus warning
The compiler fails to figure out that enc->codec_type can only
have 3 different values.
Thus when an if/else is encountered it triggers on the possibility
of the else case has not initialized the flags variable.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-18 10:31:04 +02:00
Michael Niedermayer
a1fb2b935a nsvdec: change 2 commented assert() to av_assert()
they keep showing up if i grep for non av assert()

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-18 05:08:32 +02:00
Reimar Döffinger
07d2d06395 Remove code that duplicates existing code a few lines down.
This also fixes a potential crash since s->pb can be NULL.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-09-17 21:17:43 +02:00
Clément Bœsch
049ce4facb id3v2: strdup the genre name explicitly.
It would have been done anyway in the av_dict_set() call.

This simplifies the code and avoid a warning because of assigning a
const string from ff_id3v1_genre_str to a non-const variable.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-17 15:48:20 +02:00
Clément Bœsch
ffdd2e9144 lavf/id3v2: do not export empty fields.
This also avoids a memleak.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-17 15:48:20 +02:00
Michael Niedermayer
291b220377 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avconv: flush filtered frames before reconfiguring filters
  mov: stsd entries must be at least 16 byte
  mov: detect EOF in mov_read_dref()
  file: return proper error on seek failures

Conflicts:
	libavformat/file.c
	libavformat/mov.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-17 15:15:43 +02:00
Clément Bœsch
094991eb69 lavf/oggdec: reword stream creation error message. 2012-09-16 18:28:52 +02:00
Clément Bœsch
23f6420026 lavf/oggdec: reindent and comment blocks. 2012-09-16 18:28:51 +02:00
Clément Bœsch
a218c5ebd2 lavf/oggdec: make stream replacement less convoluted.
Also re-use the allocated buffer instead of re-allocating a new one.
2012-09-16 18:28:15 +02:00
Clément Bœsch
e18ea76523 lavf/oggdec: more explicit zeroing of the new ogg stream. 2012-09-16 18:28:14 +02:00
Clément Bœsch
3a89553347 lavf/oggdec: rework allocations in ogg_new_streams(). 2012-09-16 18:27:58 +02:00
Michael Niedermayer
a5ea623b36 mov: stsd entries must be at least 16 byte
Fix near infinite loop in stsd parsing.
Bug found by: Diana Elena Muscalu

The size is unsigned according the specification.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-16 16:53:06 +02:00
Clément Bœsch
edca80387c lavf/oggdec: simplify destroying streams with chained audio streams.
nstreams is assumed to be 1 at that point, so the loop is pointless.
2012-09-16 16:52:06 +02:00
Clément Bœsch
277ddf127d lavf/oggdec: rename str to sid.
"str" is misleading here (it's often used for string). "sid" makes more
sense to identify a stream id.
2012-09-16 16:52:06 +02:00
Clément Bœsch
e1ca1dd71b lavf/oggdec: remove a comment not matching anything. 2012-09-16 16:52:06 +02:00
Clément Bœsch
bf8bfc6a11 lavf/oggdec: inline ogg_get_headers().
There is no point in a distant definition of a small function like this
used only once.

Additional spacing to distinguish better the block.
2012-09-16 16:52:06 +02:00
Michael Niedermayer
9db67bedf0 mov: detect EOF in mov_read_dref()
Avoid a near infinite loop.
Issue discovered by cosminamironesei.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-16 16:31:03 +02:00
Luca Barbato
4ed5ac50d3 file: return proper error on seek failures 2012-09-16 15:37:14 +02:00
Michael Niedermayer
744e4429cf mp3enc: merge mp2/mp3_write_trailer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 14:37:50 +02:00
Michael Niedermayer
197bbcf44c mp3enc: move mp3_update_xing() down
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 14:31:58 +02:00
Michael Niedermayer
f276a490f0 Merge commit '3f7fd59d151a2773f0e2e93e56b6b13ec6e5334b'
* commit '3f7fd59d151a2773f0e2e93e56b6b13ec6e5334b':
  avformat: fix typo in avformat_close_input
  mp3enc: write Xing TOC
  mp3enc: support MPEG-2 and MPEG-2.5 in Xing header.
  mp3enc: downgrade some errors in writing Xing frame to warnings
  lavf: flush the output AVIOContext in av_write_trailer().
  lavf: cosmetics, reformat av_write_trailer().
  avio: flush the internal buffer in avio_close()
  Enhance doc on asyncts audiofilter
  cmdutils: avoid setting data pointers to invalid values in alloc_buffer()
  libavcodec: remove av_destruct_packet_nofree()

Conflicts:
	libavcodec/avpacket.c
	libavformat/mp3enc.c
	libavformat/nutenc.c
	libavformat/utils.c
	libavformat/version.h
	tests/ref/lavf/voc
	tests/ref/lavf/voc_s16

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-16 14:24:11 +02:00
Clément Bœsch
ca81e3b6e7 lavf/mkv: prefix video stereo arrays with ff_. 2012-09-16 02:58:40 +02:00
Alexander Strasser
49f3b331c7 lavf/segment: Use distinct IDs for list type ext & csv
Remove a bogus warning when using segment_list_type csv.

The LIST_TYPE_EXT constant is only used internally, so it can
be removed when the feature (segment_list_type ext) gets removed.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-15 22:58:12 +02:00
Alexander Strasser
3245be95ac lavf/segment: Rename variable in print_csv_escaped_str()
Rename a local variable to make the code more self-explanatory.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-15 22:58:11 +02:00
Alexander Strasser
bac1b31bf6 lavf/segment: Simplify CSV field quoting code
Should also be faster (though I doubt that hardly ever matters
for the usage here).

Also remove the pointer copy. Since we do not need to reset the
pointer to the start of the string, it is not needed anymore.

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
2012-09-15 22:55:21 +02:00
Andrey Utkin
aefed6ca87 udp: pick params from AVOptions also
This updated version does not deviate from previous behavior on default value of 'buffer_size'

I skipped porting 'sources', 'block' options for now as they're parsed seriously. So i added TODO remarks.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 22:13:21 +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
Anton Khirnov
7040c9fac2 mp3enc: write Xing TOC
Based on the code by:
Peter Belkner <pbelkner@snafu.de>,
Michael Niedermayer <michaelni@gmx.at>,
Clément Bœsch <clement.boesch@smartjog.com>,
Reimar Döffinger <Reimar.Doeffinger@gmx.de>, and
Tobias Rapp <t.rapp@noa-audio.com>
Alex Converse <alex.converse@gmail.com>

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-09-15 18:25:34 +02:00
Clément Bœsch
ca8e39dd0d mp3enc: support MPEG-2 and MPEG-2.5 in Xing header. 2012-09-15 18:25:22 +02:00
Reimar Döffinger
6365e4db79 mp3enc: downgrade some errors in writing Xing frame to warnings
Also clarify the meaning of the log message.
2012-09-15 18:25:15 +02:00
Anton Khirnov
3b4bb19e63 lavf: flush the output AVIOContext in av_write_trailer().
This is consistent with stdio and is what we want to do in all cases.

Fixes a bug in the voc muxer which didn't flush in write_trailer()
previously. This is the cause of the change in the test results.
2012-09-15 18:25:07 +02:00
Anton Khirnov
0c270239c2 lavf: cosmetics, reformat av_write_trailer(). 2012-09-15 18:24:59 +02:00
Stefano Sabatini
5d1203f063 avio: flush the internal buffer in avio_close()
This is consistent with stdio, and thus what people would naturally
expect.
2012-09-15 18:24:49 +02:00
Michael Niedermayer
f1ca40ee00 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  riff: Add SVQ3 fourcc
  fate: ac3: add 4.0 and downmix tests
  configure: x86: improve ebp availability check
  vorbisdec: ensure FASTDIV denominator is never 1
  avformat: refactor avformat_close_input
  avformat: simplify avformat_close_input

Conflicts:
	configure
	libavcodec/vorbisdec.c
	libavformat/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-15 10:35:26 +02:00
Derek Buitenhuis
1c56cdad33 riff: Add SVQ3 fourcc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-09-14 14:12:52 -04:00
Derek Buitenhuis
fef412a24d riff: Add SVQ3 fourcc
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 19:48:45 +02:00
Michael Niedermayer
e2d643efcd lavf/compute_pkt_fields: only run pts by duration correction if reference ts is available
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 19:47:41 +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
Michael Niedermayer
062091f87f compute_pkt_fields2: dont interpret max_b_frames of <0 as there being b frames.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-14 02:30:00 +02:00
Michael Niedermayer
bc3d5173cc libavformat.v: export ffurl_protocol_next
This is used by avidemux, and is likely usefull to others too.

Patch by: gruntster (Avidemux Rev 7990 — 2012-05-30 13:02:27)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 16:21:25 +02:00
Michael Niedermayer
e3e09f2bad Merge remote-tracking branch 'qatar/master'
* qatar/master:
  os_support: Choose between direct.h and io.h using a configure check
  os_support: Include io.h instead of direct.h on mingw32ce
  x86: ac3dsp: Only refer to the ac3_downmix_sse symbol if it has been declared
  swscale: Remove two bogus asserts
  ac3: move ac3_downmix() from dsputil to ac3dsp
  lavr/audio_mix_matrix: acknowledge the existence of LFE2.
  mlp_parser: avoid mapping multiple disctinct TrueHD channels to the same Libav channel.
  lavu/audioconvert: add a second low frequency channel.

Conflicts:
	doc/APIchanges
	libavcodec/ac3dsp.c
	libavcodec/ac3dsp.h
	libavcodec/mlp_parser.c
	libavutil/audioconvert.c
	libavutil/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 15:35:50 +02:00
Michael Niedermayer
c942e8b1d7 Merge commit '07584eaf4a95db3f11d3bc411f9786932829e82b'
* commit '07584eaf4a95db3f11d3bc411f9786932829e82b':
  mpegts: check substreams before discarding
  Add a smooth streaming segmenter muxer
  file: Add an avoption for disabling truncating existing files on open
  img2dec: always close AVIOContexts
  rtpdec_jpeg: Error out on other unsupported type values as well
  rtpdec_jpeg: Disallow using the reserved q values
  rtpdec_jpeg: Fold the default qtables case into an existing if statement
  rtpdec_jpeg: Store and reuse old qtables for q values 128-254
  rtpdec_jpeg: Simplify the calculation of the number of qtables
  rtpdec_jpeg: Add more comments about the fields in the SOF0 section
  rtpdec_jpeg: Clarify where the subsampling magic numbers come from
  rtpdec_jpeg: Don't use a bitstream writer for the EOI marker
  rtpdec_jpeg: Don't needlessly use a bitstream writer for the header
  rtpdec_jpeg: Simplify writing of the jpeg header
  rtpdec_jpeg: Merge two if statements
  rtpdec_jpeg: Write the DHT section properly

Conflicts:
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-13 15:22:16 +02:00
Martin Storsjö
ca6b544ac9 os_support: Choose between direct.h and io.h using a configure check
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 14:56:54 +03:00
Martin Storsjö
7b07fab567 os_support: Include io.h instead of direct.h on mingw32ce
Windows CE doesn't have neither mkdir nor _mkdir officially (only
CreateDirectoryW), but mingw32ce has compat wrappers with these names
(declared in io.h since direct.h is unavailable).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-13 13:52:50 +03:00
Christian Schmidt
07584eaf4a mpegts: check substreams before discarding
Allow to extract the AC3 core from TrueHD with the "copy" codec.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-12 23:43:53 +02:00
Martin Storsjö
62c9ae11a7 Add a smooth streaming segmenter muxer
This muxer splits the output from the ismv muxer into individual
files, in realtime.

The same can also be done by the standalone tool ismindex, but this
muxer is needed for doing it in realtime (especially for live
streams that need extra handling for updating the lookahead fields
in the fragment headers).

Using this muxer, one can deliver live smooth streaming from a
normal static file web server. (Using ismindex, one can deliver
premade smooth streaming files from a static file web server,
or prepare files for serving with IIS.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 23:42:16 +03:00
Martin Storsjö
29a9b12b10 file: Add an avoption for disabling truncating existing files on open
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 23:42:09 +03:00
Michael Niedermayer
2de8877689 asfdec: invert SAR
It appears this was wrong

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-12 20:35:09 +02:00
Tomas Härdin
5e3572893d img2dec: always close AVIOContexts
Zero sized files would cause the contexts to leak away.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-09-12 14:31:09 +02:00
Carl Eugen Hoyos
7680d99b43 Fix muxing mjpeg in swf. 2012-09-12 13:08:27 +02:00
Martin Storsjö
c3bcd22ed3 rtpdec_jpeg: Error out on other unsupported type values as well
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:10:56 +03:00
Martin Storsjö
1743938df1 rtpdec_jpeg: Disallow using the reserved q values
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:10:45 +03:00
Martin Storsjö
1de9317bd0 rtpdec_jpeg: Fold the default qtables case into an existing if statement
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:10:32 +03:00
Martin Storsjö
a218deb856 rtpdec_jpeg: Store and reuse old qtables for q values 128-254
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:10:05 +03:00
Martin Storsjö
a252649059 rtpdec_jpeg: Simplify the calculation of the number of qtables
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:09:57 +03:00
Martin Storsjö
cbaa9eeda3 rtpdec_jpeg: Add more comments about the fields in the SOF0 section
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:09:30 +03:00
Martin Storsjö
31adff08a1 rtpdec_jpeg: Clarify where the subsampling magic numbers come from
Write out the numbers the way they are constructed, not just the
final values.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:09:21 +03:00
Martin Storsjö
c64d2a63df rtpdec_jpeg: Don't use a bitstream writer for the EOI marker
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:09:02 +03:00
Martin Storsjö
20f325f320 rtpdec_jpeg: Don't needlessly use a bitstream writer for the header
Everything written with this bitstream writer is 8/16 bit units
(except for a pair of 4 bit values), so using a bitstream writer
isn't necessary.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:08:33 +03:00
Martin Storsjö
43957fcc71 rtpdec_jpeg: Simplify writing of the jpeg header
Generalize writing of any number of qtables. Don't manually write
16 bit values in two separate calls.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:08:09 +03:00
Martin Storsjö
932d8300d3 rtpdec_jpeg: Merge two if statements
This makes the code more readable and robust.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:07:57 +03:00
Martin Storsjö
7ef4323405 rtpdec_jpeg: Write the DHT section properly
Currently the size header of the generated DHT section is
incorrect, making the mjpeg decoder just skip it. Since the
written huffman tables are the default ones, this failure had
gone undetected.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-12 12:07:29 +03:00
Michael Niedermayer
23e9e5c7d9 rtmpproto: reorder some expressions to fix compilation with clang without optimizations
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-12 05:17:52 +02:00
Stefano Sabatini
e592fd0ed1 lavf/flvenc: convert commented debug log to an av_dlog call
Also add some additional info (DTS and DTS time).
2012-09-11 18:58:19 +02:00
Michael Niedermayer
ec7946853a Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec_jpeg: Add support for default quantizers
  x86: dsputil: Move specific optimization settings out of global init function
  avplay: get rid of ugly casts in the options table
  avplay: fix prototypes for option callbacks.
  flvdec: always set AVFMTCTX_NOHEADER.
  file: Use a normal private context for storing the file descriptor
  configure: Adjust the xgetbv instrinsic check
  configure: Add --disable-inline-asm command line option
  configure: Don't try to enable the log2 function on msvcrt

Conflicts:
	configure
	ffplay.c
	libavcodec/x86/dsputil_mmx.c
	libavformat/file.c
	libavformat/flvdec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 15:24:22 +02:00
Samuel Pitoiset
55e778bebd rtpdec_jpeg: Add support for default quantizers
Generate quantization tables when they are not present in the
first chunk.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-11 11:53:08 +03:00
Anton Khirnov
ee0dadc109 flvdec: always set AVFMTCTX_NOHEADER.
New streams may be created at any time, e.g. on codec change.
2012-09-11 09:13:29 +02:00
Michael Niedermayer
8470e6c96f lavf/avformat_seek_file: fix harmless integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-11 03:02:51 +02:00
Stefano Sabatini
00d516454c lavf/segment: add segment_list_flags option
Allow to specify options affecting the segment list generation.

In particular: add +live and +cache flags.

For a full discussion read trac ticket #1642:
http://ffmpeg.org/trac/ffmpeg/ticket/1642

Also add live M3U8 generation example.
2012-09-11 01:24:54 +02:00
Michael Niedermayer
b3b27b63a0 mpegtsenc: add forgotten ()
Fixes integer overflow

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 20:57:23 +02:00
Martin Storsjö
0697d81269 file: Use a normal private context for storing the file descriptor
Previously the file descriptor was stored in the priv_data pointer.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-10 19:49:41 +03:00
Sébastien Brochet
e14725cecc add OTF support for attachments
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 17:08:18 +02:00
Michael Niedermayer
41dba453f9 utils/update_stream_timings: fix division by zero
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 16:57:31 +02:00
Michael Niedermayer
108957c661 avidec/guess_ni_flag: fix harmless integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 16:56:59 +02:00
Michael Niedermayer
b422e2c58a compute_pkt_fields: fix harmless integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 16:15:07 +02:00
Michael Niedermayer
bff2afb3e9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  x86: dsputil: Only compile motion_est code when encoders are enabled
  mem: fix typo in check for __ICC
  fate: mp3: drop redundant CMP setting
  rtp: Depacketization of JPEG (RFC 2435)
  Rename ff_put_string to avpriv_put_string
  mjpeg: Rename some symbols to avpriv_* instead of ff_*
  yadif: cosmetics

Conflicts:
	Changelog
	libavcodec/mjpegenc.c
	libavcodec/x86/Makefile
	libavfilter/vf_yadif.c
	libavformat/version.h
	libavutil/mem.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-10 14:06:20 +02:00
Samuel Pitoiset
3c19815416 rtp: Depacketization of JPEG (RFC 2435)
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-09 22:22:21 +03:00
Derek Buitenhuis
16c03f2e91 file: Add S_ISFIFO compatability macro
Not all systems have S_ISFIFO.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 20:23:14 +02:00
Michael Niedermayer
07108cafc6 gxfenc: assert that the to be written data has not been truncated.
Otherwise out of array reads would happen later

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:31:44 +02:00
Michael Niedermayer
eb336cb881 gxfenc: dont duplicate buffer size
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 14:31:06 +02:00
Michael Niedermayer
59fdf543d5 smush: read subversion for version==1 too.
This avoids a gcc warning, otherwise it should have no effect.
its a bit more consistent too

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-09 02:36:57 +02:00
Michael Niedermayer
b86e18fe46 yuv4mpeg: fix potential alignment bug
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 13:37:35 +02:00
Michael Niedermayer
7beadfe1f7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov_chan: Only set the channel_layout if setting it to a nonzero value
  mov_chan: Reindent an incorrectly indented line
  mp2 muxer: mark as AVFMT_NOTIMESTAMPS.
  x86: float_dsp: fix ff_vector_fmac_scalar_avx() on Win64
  x86: more specific checks for availability of required assembly capabilities
  x86: avcodec: Drop silly "_mmx" suffix from dsputil template names
  fate: Drop redundant setting of FUZZ to 1
  cavsdsp: set idct permutation independently of dsputil
  x86: allow using add_hfyu_median_prediction_cmov on any cpu with cmov

Conflicts:
	libavcodec/x86/dsputil_mmx.c
	libavformat/mp3enc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 12:53:44 +02:00
Michael Niedermayer
8a0118b4b4 ffio_read: dont spam the user at EOF with a truncation error
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 12:41:57 +02:00
Michael Niedermayer
5710dbf88c mpegts: Fix potential memory leak in mpegts_read_packet()
This leak can happen in case of some error paths.

Found-by: Tanami, Ohad
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 05:21:47 +02:00
Michael Niedermayer
9a27fd12f3 avio: replace ETIMEDOUT by EIO
ETIMEDOUT is not available on all platforms

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-08 02:28:20 +02:00
Martin Storsjö
7b699d8136 mov_chan: Only set the channel_layout if setting it to a nonzero value
If regularly parsing new chan atoms (as in rtpdec_qt), but the
chan atoms don't actually contain any channel layout, don't reset
the value that the caller has filled in (by guessing).

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-08 01:30:44 +03:00
Martin Storsjö
5f72bc02f8 mov_chan: Reindent an incorrectly indented line
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-08 01:30:43 +03:00
Carl Eugen Hoyos
407eeb3474 mp2 muxer: mark as AVFMT_NOTIMESTAMPS.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-09-07 14:20:14 -07:00
Derek Buitenhuis
af2a17c09a cache: Only include unistd.h if it exists
This follows suite from f3be359707.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 19:29:58 +02:00
Ronald S. Bultje
f3be359707 file: Only include unistd.h if it exists
It is included for the open/read/write/close functions. On
MSVC, where this header does not exist, the same functions
are provided by io.h, which is already included.

On windows, these functions are provided by io.h. Make sure
io.h is included if it exists, regardless of the setmode
function.

Signed-off-by: Martin Storsjö <martin@martin.st>

Conflicts:

	configure

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 18:41:23 +02:00
Ronald S. Bultje
9d0bc5c0bd rtpdec: Don't explicitly include unistd.h any longer
unistd.h used to be required for gethostname. On windows, gethostname
is provided by winsock2.h. Now network.h includes both unistd.h and
winsock2.h if they exist.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 18:41:14 +02:00
Derek Buitenhuis
1d4c4b0fbc wtvdec: Remove unused strings.h header
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 18:24:50 +02:00
Stefano Sabatini
25f139e72f lavf/utils: fix typo in has_codec_parameters
Replace "unspecified sample size" with "unspecified frame size". +10l.
2012-09-07 14:31:37 +02:00
Tomas Härdin
d74af89317 img2dec: Don't leave AVIOContexts open on zero byte files
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 14:10:19 +02:00
Michael Niedermayer
fa85118510 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mov_chan: Pass a separate AVIOContext for reading
  af_asyncts: check return value from lavr when flushing.
  mss2: simplify loop in decode_rle()
  mss12: avoid unnecessary division in arith*_get_bit()
  mss2: do not try to read too many palette entries
  mpegvideo: set AVFrame fields to NULL after freeing the base memory
  configure: Set the right cc_e flags for msvc

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 13:50:24 +02:00
Michael Niedermayer
a7fbc7d7b7 lavf: factor codec id forcing out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-07 13:16:04 +02:00
Samuel Pitoiset
9afb7061f9 mov_chan: Pass a separate AVIOContext for reading
This fixes crashes when called from rtpdec_qt, where
AVFormatContext->pb is null, a crash present since 3bab7cd128.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-07 10:49:35 +03:00
Stefano Sabatini
da2ea7c33c lavf/flvenc: apply various log fixes/clarifications
Should improve user feedback in case of errors.
2012-09-06 23:39:57 +02:00
Stefano Sabatini
1bd6b0c927 lavf/flvenc: return meaningful error codes 2012-09-06 23:39:57 +02:00
rogerdpack
ef122ff507 eliminate some mingw warnings
Signed-off-by: rogerdpack <rogerpack2005@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-06 04:42:43 +02:00
Stefano Sabatini
29e972f67c lavu/parseutils: add av_small_strptime()
Make internal small_strptime() function public, and use it in place of
strptime().
This allows to avoid a dependency on strptime() on systems which do not
support it.

In particular, fix trac ticket #992.
2012-09-06 00:40:01 +02:00
Clément Bœsch
5620088494 lavf: fix a few typo in some comments. 2012-09-05 23:22:35 +02:00
Clément Bœsch
9d9f34a3c1 lavf: remove a few useless AV_NOWARN_DEPRECATED().
read_seek was undeprecated in e5c708151.
2012-09-05 23:18:07 +02:00
Michael Niedermayer
d46c1c72e4 Merge commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9'
* commit 'e6153f173a49e5bfa70b0c04d2f82930533597b9':
  avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member

Conflicts:
	libavcodec/libopenjpegdec.c
	libavcodec/libopenjpegenc.c
	libavcodec/libx264.c
	libavcodec/mpeg12enc.c
	libavcodec/options_table.h
	libavcodec/snowenc.c
	libavcodec/tiffenc.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/af_amix.c
	libavfilter/af_asyncts.c
	libavfilter/af_join.c
	libavfilter/buffersrc.c
	libavfilter/src_movie.c
	libavfilter/vf_delogo.c
	libavfilter/vf_drawtext.c
	libavformat/http.c
	libavformat/img2dec.c
	libavformat/img2enc.c
	libavformat/movenc.c
	libavformat/mpegenc.c
	libavformat/mpegtsenc.c
	libavformat/options_table.h
	libavformat/segment.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:33:32 +02:00
Michael Niedermayer
99de3df3d3 Merge commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078'
* commit 'd58dd4b5b5d31cfd4092e38a5f2c894eee2ab078':
  avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member

Conflicts:
	libavcodec/libvpxenc.c
	libavcodec/options_table.h
	libavfilter/vf_drawtext.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 14:09:09 +02:00
Michael Niedermayer
d5f65e9d40 Merge commit '124134e42455763b28cc346fed1d07017a76e84e'
* commit '124134e42455763b28cc346fed1d07017a76e84e':
  avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member

Conflicts:
	libavcodec/aacenc.c
	libavcodec/libopenjpegenc.c
	libavcodec/options_table.h
	libavdevice/bktr.c
	libavdevice/v4l2.c
	libavdevice/x11grab.c
	libavfilter/af_amix.c
	libavfilter/vf_drawtext.c
	libavformat/movenc.c
	libavformat/options_table.h
	libavutil/opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-05 13:58:11 +02:00
Martin Storsjö
e6153f173a avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:44 +03:00
Martin Storsjö
d58dd4b5b5 avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:38 +03:00
Martin Storsjö
124134e424 avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:32 +03:00
Michael Niedermayer
9dcc4c30f9 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  configure: add support for bdver1 and bdver2 CPU types.
  avio: make avio_close NULL the freed buffer
  pixdesc: cosmetics
  proresenc: Don't free a buffer not owned by the codec
  proresenc: Write the full value in one put_bits call
  adpcmenc: Calculate the IMA_QT predictor without overflow
  x86: Add convenience macros to check for CPU extensions and flags
  x86: h264dsp: drop some unnecessary ifdefs around prototype declarations
  mss12: merge decode_pixel() and decode_top_left_pixel()
  mss12: reduce SliceContext size from 1067 to 164 KB
  mss12: move SliceContexts out of the common context into the codec contexts

Conflicts:
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 17:04:51 +02:00
Luca Barbato
3093939077 avio: make avio_close NULL the freed buffer 2012-09-04 15:04:46 +02:00
Stefano Sabatini
838b1d60a1 lavf/segment: add EXT-X-MEDIA-SEQUENCE tag in M3U8 header 2012-09-04 11:28:16 +02:00
Stefano Sabatini
ebd703f0a0 lavf/segment: deprecate "ext" format in favor of "csv"
The new option name is more descriptive.
2012-09-04 11:27:55 +02:00
Stefano Sabatini
d815763548 lavf/segment: add escaping for filename field of the CSV list file
CSV escaping code is borrowed from ffprobe.c.
2012-09-04 11:25:14 +02:00
Peter Ross
299489714a tty: return av_get_packet() error codes instead of converting them to EIO
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 06:12:18 +02:00
Peter Ross
bf959ac2c6 tty: return EOF when the 'effective' end of file is reached. ('effective' because ansi/tty files may be concatenated with SAUCE/EFI metadata)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-04 06:12:10 +02:00
Michael Niedermayer
e6dc0da504 rmdec: remove unused variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-03 22:40:41 +02:00
Stefano Sabatini
f7eec8956d lavf/segment: set EXT-X-VERSION to 3 rather than to 4
There is nothing we use of the latest version, downgrade version number
to increase decoding support.

Based on this comment by vel2000:
http://ffmpeg.org/trac/ffmpeg/ticket/1642#comment:17
2012-09-02 10:42:25 +02:00
Michael Niedermayer
4654bf44a7 flvdec: fix creation of lots of phantom data streams
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-02 05:04:14 +02:00
Michael Niedermayer
19a71dbcb9 psxstr: more correct array type.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 23:45:32 +02:00
Roman Arutyunyan
c0daa73a0f fix flv new stream handling after head already parsed
This fixes stream lookup in flv demuxer. When used with librtmp
protocol streams are sometimes added after head arrived. If the
first stream added in flv header reader is Audio stream then it
is messed with Video stream added later in the code patched.
The result is I have 2 Audio streams (first of them is said to have
a video codec like h264) instead of Audio/Video pair.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 17:49:33 +02:00
Piotr Bandurski
5081310b58 lavf: add missing new line to some error messages 2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 17:35:21 +02:00
Piotr Bandurski
08277a45c3 lavf: add missing new line to some error messages
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 15:59:30 +02:00
Michael Niedermayer
899101d3d3 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  crypto: Remove a stray double space
  Rename missed cases of FF_OPT_TYPE_* to AV_OPT_TYPE_*

Conflicts:
	libavfilter/vf_delogo.c
	libavfilter/vf_lut.c
	libavfilter/vsrc_testsrc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-01 14:09:32 +02:00
Philip Langdale
9d89c8b3ac matroskadec, matroskadec, srtenc: Read/Write duration for subtitles.
After much discussion and back-and-forth, we reached the conclusion
that matroska uses convergence_duration for subtitle duration because
a 32bit value isn't large enough to store the duration if sub-micro-second
timebases are used. Matroska may not be the only one that supports these
timebases, but it's certainly the only one that ffmpeg attempts to support
in this way.

The long term solution that we seemed to reach was that if we encounter
a matroska file with a sub-micro-second timebase, we should internally
scale it up to at least micro-second, and then duration can be used
normally. This suggests that on the encode side, we should not allow
generation of files with sub-micro-second timebases, but that's a separate
issue.

That being a non-trivial change, and the subtitle interoperability breakage
being very real, I'm re-submitting this small change for consideration.

In this diff, we make sure that duration is populated by the matroska
demuxer, and that convergence_duration is respected in matroskaenc and
srtenc, but that duration is used otherwise. This ends up being a strict
improvement - pipelines that use convergence duration are unchanged, and
ones that are currently broken due to the duration mismatch will start
working - except for the ones with the extreme timebases, but those were
already broken.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-31 20:22:49 -07:00
Martin Storsjö
12c8912de2 crypto: Remove a stray double space
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-31 23:27:27 +02:00
Piotr Bandurski
5059162659 flic: use AV_LOG_ERROR for error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 23:04:05 +02:00
Piotr Bandurski
d2b927d4fc filmstripdec: add new line to error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 23:03:18 +02:00
Reimar Döffinger
dddd006cab wtvdec: set correct codec ID for CC streams.
Closed caption data is definitely not teletext.
Since it contains a EIA-608 compatibility stream,
the EIA_608 codec ID is at least not completely wrong.
Fixes subtitle playback in MPlayer with the sample in
trac ticket #1482.
To fix the ticket itself I expect FFmpeg will need
a closed-caption to SRT decoder first.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-08-31 19:58:09 +02:00
Michael Niedermayer
d7587ba1c6 flvdec: remove duplicate return
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 15:45:23 +02:00
Michael Niedermayer
e234301c2c bintext: remove stray ;
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 15:20:57 +02:00
Michael Niedermayer
c617bed34f Merge remote-tracking branch 'qatar/master'
* qatar/master:
  MSS1 and MSS2: set final pixel format after common stuff has been initialised
  MSS2 decoder
  configure: handle --disable-asm before check_deps
  x86: Split inline and external assembly #ifdefs
  configure: x86: Separate inline from standalone assembler capabilities
  pktdumper: Use a custom define instead of PATH_MAX for buffers
  pktdumper: Use av_strlcpy instead of strncpy
  pktdumper: Use sizeof(variable) instead of the direct buffer length

Conflicts:
	Changelog
	configure
	libavcodec/allcodecs.c
	libavcodec/avcodec.h
	libavcodec/codec_desc.c
	libavcodec/dct-test.c
	libavcodec/imgconvert.c
	libavcodec/mss12.c
	libavcodec/version.h
	libavfilter/x86/gradfun.c
	libswscale/x86/yuv2rgb.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-31 13:34:32 +02:00
Alberto Delmás
ee769c6a7c MSS2 decoder
Signed-off-by: Kostya Shishkov <kostya.shishkov@gmail.com>
2012-08-31 07:37:16 +02:00
Michael Niedermayer
19d8954966 find_stream_info: update last_dts more often
This improves dts validity checks and consequently fps detection of files with invalid dts
Fixes Ticket1681

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 23:48:54 +02:00
Michael Niedermayer
370bb893d2 mp3enc: fix const correctness
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 17:56:38 +02:00
Michael Niedermayer
5e363bb9b3 flvenc: kill a uninitialized variable warning.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 05:20:51 +02:00
Michael Niedermayer
b3facc4af8 ac3dec: fix uninitialized var warning
This commit should be purely cosmetic

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 05:17:24 +02:00
Michael Niedermayer
158a70f17a mov: fix av_log int type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-30 00:22:58 +02:00
Michael Niedermayer
1c66807636 Merge commit 'd488c3bcbaf7ddda42597e014deb661a7e9e2112'
* commit 'd488c3bcbaf7ddda42597e014deb661a7e9e2112':
  configure: support Bitrig OS
  yuv2rgb: handle line widths that are not a multiple of 4.
  graph2dot: Use the fallback getopt implementation if needed
  tools: Include io.h for open/read/write/close if unistd.h doesn't exist
  testprogs: Remove unused includes
  qt-faststart: Use other seek/tell functions on MSVC than on mingw
  ismindex: Include direct.h for _mkdir on windows
  sdp: Use static const char arrays instead of pointers to strings
  x86: avcodec: Drop silly "_mmx" suffixes from filenames
  x86: avcodec: Drop silly "_sse" suffixes from filenames
  sdp: Include profile-level-id for H264
  utvideoenc: use ff_huff_gen_len_table
  huffman: add ff_huff_gen_len_table
  cllc: simplify/fix swapped data buffer allocation.
  rtpdec_h264: Don't set the pixel format
  h264: Check that the codec isn't null before accessing it
  audio_frame_queue: Define af_queue_log_state before using it

Conflicts:
	libavcodec/audio_frame_queue.c
	libavcodec/h264.c
	libavcodec/huffman.h
	libavcodec/huffyuv.c
	libavcodec/utvideoenc.c
	libavcodec/x86/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 18:04:34 +02:00
Mans Rullgard
8db73c61a7 build: allow non-standard variations of linker -l/-L flags
This enables replacing the -l and -L flags used to specify the
just-built libraries when linking the tools and shared libs with
non-standard syntaxes.  System library flags are already handled
by the filtering mechanism in configure.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-29 14:16:54 +01:00
Andrey Utkin
028b6d2b5c Add 'timeout' option to UDP protocol
This patch accepts 'timeout' option for input mode only. As far as i know, UDP output cannot introduce delays.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 00:28:07 +02:00
Andrey Utkin
7870722592 Add 'rw_timeout' into URLContext
If set non-zero, limits duration of retry_transfer_wrapper() loop, thus
affects ffurl_read*(), ffurl_write()
Measured in microseconds.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-29 00:05:03 +02:00
Michael Niedermayer
6c06b566d2 rtpenc_xiph: switch to av_assert
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 22:29:20 +02:00
Martin Storsjö
d4bba93f4d sdp: Use static const char arrays instead of pointers to strings
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-28 22:35:17 +03:00
Martin Storsjö
06b5246c84 sdp: Include profile-level-id for H264
This is required for playback with the Stagefright RTSP framework
on Android.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-28 19:32:19 +03:00
Samuel Pitoiset
6af2480aa6 rtpdec_h264: Don't set the pixel format
There is no need for this depacketizer to set the pixel format,
the decoder can do that just fine.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-28 18:16:00 +03:00
Michael Niedermayer
e367d90664 aiffdec: support QDM2
Fixes ticket204

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-28 03:18:21 +02:00
Kari Lentz
be862c0dac movenc: support for itunes tempo tag
Implements support for tmpo atom for mp4 files, typically used to store BPM.  -metadata "tmpo=127" as a command line option will record 127 as the BPM in the meta data.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 19:06:32 +02:00
Michael Niedermayer
99f5090714 aiffdec: try #2 to fix bps
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 16:50:59 +02:00
Michael Niedermayer
4abb88d7e8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vf_hqdn3d: Don't declare the loop variable within the for loop
  huffyuv: update to current coding style
  huffman: update to current coding style
  rtsp: Free the rtpdec context properly
  build: fft: x86: Drop unused YASM-OBJS-FFT- variable

Conflicts:
	libavcodec/huffman.c
	libavcodec/huffyuv.c
	libavcodec/x86/Makefile
	libavfilter/vf_hqdn3d.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 16:32:44 +02:00
Martin Storsjö
125c6c0752 rtsp: Free the rtpdec context properly
The condition for calling the rtpdec cleanup was broken in
df8cf076c8.

This fixes a memory leak.

Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-27 12:29:47 +03:00
Carl Eugen Hoyos
73b40dafc8 Use correct format identifier for uint64_t. 2012-08-27 09:14:40 +02:00
Michael Niedermayer
4e8b206092 mpc: fix seeking to the end
Fixes Ticket1689

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 05:23:42 +02:00
Michael Niedermayer
a503afb11f mpc: clip seeking timestamp in valid range
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 04:51:27 +02:00
Michael Niedermayer
b9b97c2fb9 aiffdec: fix bits per sample
Fixes Ticket1660

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-27 02:54:00 +02:00
Michael Niedermayer
3a621c9d99 nutenc: Support writing an index
The seek test improves in accuracy
Fixes Ticket877

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:21 +02:00
Michael Niedermayer
b2a8ce4e67 nutenc: keep track of max_pts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:20 +02:00
Michael Niedermayer
c2a134c66c nutenc: keep track if keyframe PTS
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:19 +02:00
Michael Niedermayer
e6a045ba56 nutdec: Flip the direction for seeking with an index in the failure case.
This is closer to how seeking works without an index

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:18 +02:00
Michael Niedermayer
cebbaf578d nutdec: improve information in error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:18 +02:00
Michael Niedermayer
d1ee2cf74a nutenc: keep track of the written syncpoint count
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 22:15:16 +02:00
Michael Niedermayer
0c3a3b75d7 ac3_probe: fix probing of non standard AC3
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-26 01:55:10 +02:00
Michael Niedermayer
4b9e44868b lavf: fix avio statistics for packets directly read without the buffer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-25 23:25:36 +02:00
Philip Langdale
2626cc4580 matroska: Mark S_TEXT/UTF-8 as Subrip encoded subtitles.
While not explicitly stated in the specs, the original author
has stated that S_TEXT/UTF-8 is expected to be text using Subrip
markup, but without Subrip in-band timing.

So, now that we have a decoder that conforms to this expectation,
let's use it.

Note that this change will impact tools that use libavformat. If
they expect srt subtitles to have CODEC_ID_TEXT, they must be
adjusted to expect CODEC_ID_SUBRIP. The actual content is, obviously,
unchanged.

Signed-off-by: Philip Langdale <philipl@overt.org>
2012-08-25 13:15:41 -07:00
Piotr Bandurski
0bb37bbc0f riff: fix remuxing of atrac3 in wav
The original codec expects 0 as bps or refuses to play the remuxed file.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-25 20:21:52 +02:00
Michael Niedermayer
6b72615c32 rtpdec_xiph: switch to av_assert()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 13:44:25 +02:00
Michael Niedermayer
12b1512e85 lavf/utils: Try to unwrap pts/dts so as to minimize wraps
Based on code by: Andrey Utkin <andrey.krieger.utkin@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 03:08:51 +02:00
Michael Niedermayer
254917f078 lavf/utils: run update_initial_timestamps() outside some if()
This way it gets executed earlier and updated timestamps become available earlier.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-24 03:07:03 +02:00
jamal
732dfc7660 lavf/ape: Fix stream duration calculation
Fixes ticket #1662

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-23 15:51:51 +02:00
Michael Niedermayer
104f42e694 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  doc/APIchanges: add an entry for codec descriptors.
  vorbisenc: set AVCodecContext.bit_rate to 0
  vorbisenc: fix quality parameter
  FATE: add ALAC encoding tests
  lpc: fix alignment of windowed samples for odd maximum LPC order
  alacenc: use s16p sample format as input
  alacenc: remove unneeded sample_fmt check
  alacenc: fix max_frame_size calculation for the final frame
  adpcm_swf: Use correct sample offsets when using trellis.
  rtmp: support strict rtmp servers
  mjpegdec: support AVRn interlaced
  x86: remove FASTDIV inline asm

Conflicts:
	doc/APIchanges
	libavcodec/mjpegdec.c
	libavcodec/vorbisenc.c
	libavutil/x86/intmath.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-23 14:33:33 +02:00
Samuel Pitoiset
7011a42b1a rtmp: support strict rtmp servers
In order to send or receive a stream FCPublish, FCSubscribe and _checkbw
are completely optional and often not implemented. releaseStream over a
non-existen stream might report an error instead of being silent.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-08-22 17:55:17 +02:00
Justin Greer
e16fda9236 mov: Change default aac priming fallback from 2112 to 1024
This fixes priming for faac

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 22:32:31 +02:00
Justin Greer
37a15f3e66 mov: parse custom "----" Metadata
This fixes the priming samples for NERO AAC LC

Simplified-by: Michael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 22:31:26 +02:00
Clément Bœsch
26ec392a0e lavf: remove unused AVStream pointer. 2012-08-21 13:48:08 +02:00
Clément Bœsch
3dba9e19c8 lavf: add const qualifier to AVCodecDescriptor pointer in is_intra_only().
Fix "assignment discards ‘const’ qualifier from pointer target type" warnings.
2012-08-21 13:47:43 +02:00
Michael Niedermayer
62527dc245 rmdec: parse logical-fileinfo, instead of creating phantom tracks
Fixes Ticket1090

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 06:15:22 +02:00
Michael Niedermayer
19a61bf39d rmdec: pass mime type to ff_rm_read_mdpr_codecdata()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 06:14:29 +02:00
Michael Niedermayer
85a576775e lavf: factor ff_free_stream() out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 06:13:54 +02:00
Michael Niedermayer
3ac754b93b hls: fix min DTS code, try #2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 01:52:55 +02:00
Michael Niedermayer
bf606334ad hls: fix EOF check
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 01:52:55 +02:00
Michael Niedermayer
7123e9506b hls: use av_compare_ts() instead of comparing apples to oranges.
Fixes Ticket983

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-21 01:00:05 +02:00
Nicolas George
ac45637324 lavf/nutenc: write stream metadata. 2012-08-20 23:54:56 +02:00
Nicolas George
454e37ce0c lavf/nut: define fourcc DVBT for DVB_TELETEXT.
Allow "-map 0:s -c:s copy" to copy all subtitles streams.
2012-08-20 23:54:56 +02:00
Michael Niedermayer
ba2cf854d0 lavc: move AVRn to a seperate decoder.
The special cases in demuxers and decoders are a mess otherwise (and more
would be needed to support it fully)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-20 02:46:09 +02:00
Michael Niedermayer
c9fe864472 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vorbisdec: remove some pointless comments
  avprobe: add const to AVCodec pointer
  libavformat: add const to AVCodec pointers
  pthread: add const to AVCodec pointers

Conflicts:
	ffprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-19 14:55:58 +02:00
Stefano Sabatini
e35c0ee05c lavf/segment: fix computation of M3U8 segment target duration
Use ceil on the max duration, rather than approximating it to the nearest
integer.
2012-08-18 22:46:12 +02:00
Michael Niedermayer
28ff17fa97 lavf: add use_wallclock_as_timestamps
This may fix Ticket730

Reviewed-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 19:19:47 +02:00
Nicolas George
92b8c9d89e lavf/au: check bits per coded sample.
Without that, it would repeatedly produce empty packets
if the codec if forced to something invalid.

Fix trac ticket #1652.
2012-08-18 17:45:58 +02:00
Mans Rullgard
edb5238ccb libavformat: add const to AVCodec pointers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-18 14:20:57 +01:00
Michael Niedermayer
6c180b35c4 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mpegvideo_enc: don't use deprecated avcodec_encode_video().
  cmdutils: refactor -codecs option.
  avconv: make -shortest a per-output file option.
  lavc: add avcodec_descriptor_get_by_name().
  lavc: add const to AVCodec* function parameters.
  swf(dec): replace CODEC_ID with AV_CODEC_ID
  dvenc: don't use deprecated AVCODEC_MAX_AUDIO_FRAME_SIZE
  rtmpdh: Do not generate the same private key every time when using libnettle
  rtp: remove ff_rtp_get_rtcp_file_handle().
  rtsp.c: use ffurl_get_multi_file_handle() instead of ff_rtp_get_rtcp_file_handle()
  avio: add (ff)url_get_multi_file_handle() for getting more than one fd
  h264: vdpau: fix crash with unsupported colorspace
  amrwbdec: Decode the fr_quality bit properly

Conflicts:
	Changelog
	cmdutils.c
	cmdutils_common_opts.h
	doc/ffmpeg.texi
	ffmpeg.c
	ffmpeg.h
	ffmpeg_opt.c
	libavcodec/h264.c
	libavcodec/options.c
	libavcodec/utils.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-18 15:20:32 +02:00
Stefano Sabatini
2d31ae2921 lavf/segment: change default value for segment_list_size option, from 5 to 0
This is technically a major compatibility break, but seems the most
natural default and what users would expect without reading the docs.
2012-08-18 12:32:23 +02:00
Stefano Sabatini
1c522e3868 lavf/segment: guess list type from list filename suffix 2012-08-18 12:31:49 +02:00
Stefano Sabatini
e5ae2f9126 lavf/segment: add M3U8 list support
Address trac ticket #1642.
2012-08-18 11:21:47 +02:00
Stefano Sabatini
4a12d1e8e7 lavf/segment: compute max list segment duration
This is useful for the M3U8 format incoming patch.
2012-08-18 11:21:47 +02:00
Stefano Sabatini
769500c2a3 lavf/segment: create segment_list_open and close functions
Allow factorization for the incoming patches, and avoid code/logic
duplication.
2012-08-18 11:21:47 +02:00
Stefano Sabatini
d3a2a614bf lavf/segment: fix bogus segment index rewrapping logic
Decouple segment index wrapping and segment count logic. The counter
should not be reset since it detects the segment increasing timeframe.
2012-08-18 11:21:47 +02:00
Stefano Sabatini
b89e00bd1c lavf/segment: move file description to @file doxy 2012-08-18 11:21:47 +02:00
Stefano Sabatini
725213545d lavf/avio: flush internal buffer when calling avio_close()
This seems the expected behavior.
2012-08-18 11:21:44 +02:00
Stefano Sabatini
63f57f8530 lavf/avio.h: doxygen avio_flush() 2012-08-18 11:21:42 +02:00
Anton Khirnov
15c71dfd03 swf(dec): replace CODEC_ID with AV_CODEC_ID 2012-08-18 08:48:30 +02:00