Commit Graph

11078 Commits

Author SHA1 Message Date
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