Commit Graph

9911 Commits

Author SHA1 Message Date
Jimmy Christensen
b7ce3242f8 lavc: add a OpenEXR decoder
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-06 08:32:09 +02:00
Baptiste Coudurier
e636aa1a56 movdec: handle 0x7fff langcode as macintosh per the specs
The correct point that seperates ISO and MAC language codes is 0x400
according to the current QT spec. Old QT specs did not list where this
seperation is but apparently only defined the meaning of the first 137.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-06 05:41:21 +02:00
Carl Eugen Hoyos
76c79aa28f Support yuva444p rawvideo in nut.
Fixes ticket #1058.
2012-04-06 00:53:09 +02:00
Clément Bœsch
614716f583 mov: do not print string len in handler_name.
The handler name is stored as a pascal string in the QT specs (first
byte is the length of the string), thus leading to an invalid metadata
string export.

Also add a second length check based on the first character to avoid
overwriting an already specified handler_name (it happens with Youtube
videos for instance, the handler_name get masked), or specifying an
empty string metadata.
2012-04-05 17:32:54 +02:00
Thierry Foucu
c99bdd51b2 lavf: Fix the last PTS to be generated using -fflags +genpts
To reproduce the problem, using ffprobe:

./ffprobe -show_packets -print_format compact -fflags +genpts -i
fate_samples/mxf/C0023S01.mxf

You will notice that the last video frame does not have it's PTS being
set, even with using genpts.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 12:33:33 +02:00
Ramiro Polla
bd603494f9 asfenc: properly write index information
The index must take into account the pre-roll time and must seek backwards,
not forwards.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 06:03:10 +02:00
Ramiro Polla
ae315a6a38 asfenc: start at object 1 instead of 0
This is how it is done in the official muxer.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 05:48:32 +02:00
Ramiro Polla
bc13b74992 asfenc: remove useless casts
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 05:48:31 +02:00
Ramiro Polla
f2fad251b8 asfenc: reduce code duplication with new variable
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 05:48:30 +02:00
Ramiro Polla
1ceff0859d asfenc: rename some variables
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 05:48:29 +02:00
Ramiro Polla
97d36a1898 asfenc: realloc index_ptr fewer times
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-05 05:48:27 +02:00
Michael Niedermayer
4480edcf31 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  w32threads: Make pthread_cond_wait follow POSIX
  cosmetics: Consistently place static, inline and av_cold attributes/keywords.
  sbrdsp: Use standard multiple inclusion guards.
  pcm: K&R formatting cosmetics
  rawdec: Support fourccs YV16 and YV24
  rtmp: implement bandwidth notification
  rtmp: update supported audio codecs value

Conflicts:
	libavcodec/pcm.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 21:17:52 +02:00
Reimar Döffinger
a45605a1ba Add AVIO_FLAG_DIRECT.
Allows avoiding the buffer when using avio read, write and seek functions.
When using the ffmpeg executable -avioflags direct can be used to enable
this mode for input files, but has no effect on output files.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-04-04 20:39:33 +02:00
Michael Niedermayer
ca26c2c30f lavf: add mp1/2 to determinable_frame_size()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 18:21:37 +02:00
Tomas Härdin
a61fada380 mxfdec: Fix regression on files from Pinnacle Thunder
The reason for this is that such files have IndexTableSegments which when parsed
cover EditUnit ranges like this:

 [0,1)
 [249,250)
 [249,377)
 [0,249)

where each interval is [IndexStartPosition,IndexStartPosition+IndexDuration).
This would be reduced to a sparse index like:

 [0,1), [249,250)

instead of the full range:

 [0,249), [249,377)

See TimeCode_HD.mxf, UMID =
060a2b340101010101010410130000000004001aa0e59175025b2a5600da4101.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-04 17:43:17 +02:00
Michael Niedermayer
ae3ee72e02 lavf: print some more things in TS debug statements
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-03 23:46:23 +02:00
Michael Niedermayer
b5d433d306 lavf: increase RELATIVE_TS_BASE
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-03 23:46:23 +02:00
Raffaele Sena
34d908c083 rtmp: implement bandwidth notification
Improve compatibility with some servers.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-04-03 12:37:31 -07:00
Samuel Pitoiset
faba4a9b88 rtmp: update supported audio codecs value
The audio codecs property is composed by all values except
SUPPORT_SND_INTEL (0x0008) and SUPPORT_SND_UNUSED (0x0010) which are
unused.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-04-03 12:24:33 -07:00
Clément Bœsch
588eaa106d swfdec: support compressed swf. 2012-04-03 19:12:52 +02:00
Tomas Härdin
24e90d0c05 mxfenc: Don't allow muxing audio-only since it's not supported
This fixes muxing audio-only output resulting in SIGFPE due to lack of EditRate.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-03 10:11:27 +02:00
Michael Niedermayer
b61e596a14 asf: remove duplicated index_guid
Found-by:ramiro
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-03 09:46:52 +02:00
Michael Niedermayer
11bc558070 mpegts: fix a unused function warning
note the function is used under #if

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-02 21:33:42 +02:00
Michael Niedermayer
1e059731a3 movenc: fix segfault with chapter tracks
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-02 17:00:20 +02:00
Michael Niedermayer
49891784ce Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vsrc_buffer: allow buffering arbitrary number of frames.
  vf_scale: avoid a pointless memcpy in no-op conversion.
  avfiltergraph: try to reduce format conversions in filters.
  avfiltergraph: add an AVClass to AVFilterGraph on next major bump.
  id3v2: fix skipping extended header in id3v2.4

Conflicts:
	libavfilter/vf_scale.c
	libavfilter/vsrc_buffer.c
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-02 00:17:02 +02:00
Michael Niedermayer
b3ab337227 audiointerleave: check timebase
Replaces FPE by clean error

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-01 21:21:13 +02:00
Michael Niedermayer
8df774be88 avidec: better NI detection.
The new code detects NI avis by analyzing the index.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-01 10:33:16 +02:00
Anton Khirnov
ddb4431208 id3v2: fix skipping extended header in id3v2.4
In v2.4, the length includes the length field itself.
2012-04-01 09:02:24 +02:00
Michael Niedermayer
2f7bd3b516 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  apedec: check bits <= 32.
  cavs: Remove unused code.
  oggenc: fix condition when not to flush due to keyframe granule.
  oggenc: add pagesize option to set preferred page size
  libspeexdec: set frame size in libspeex_decode_init()
  smacker audio: sign-extend the initial 16-bit predicted value

Conflicts:
	libavcodec/apedec.c
	libavcodec/libspeexdec.c
	libavformat/oggenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-04-01 00:36:43 +02:00
Reimar Döffinger
1a06d6dd86 lxfdec: support version 1 files, too.
Fixes trac issue #656.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-03-31 12:37:42 +02:00
Reimar Döffinger
40393ac568 movenc: add some default cases.
This fixes crashes when copying a data track as in trac
issue #236.
No proper timecode tracks will be written though.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-03-31 12:37:42 +02:00
Reimar Döffinger
50059bde77 MOV: Fix old-style muxed raw-audio data.
This patch fixes the sample from trac issue #522.
The issue is that the mov demuxer insists on using its
calculated sample_size (which is nonsense for old-style tracks)
instead of the one encoded in the track.
The old raw audio code should be using the value in stsz, because
the size of a single sample never makes sense for the size of
a full audio packet, whereas the new code will multiply the
sample size by the chunk size, so it should use the calculated value.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-03-31 12:37:42 +02:00
Reimar Döffinger
e0ad7f74c7 MOV: bail out to toplevel when encountering a trak or mdat chunk.
This patch fixes the sample from trac issue #733.
The issue is that the size of the trak elements is coded
too large, so that the next trak element would be parsed
as part of the first and truncated incorrectly.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
2012-03-31 12:37:42 +02:00
Reimar Döffinger
10b1c060f9 oggenc: fix condition when not to flush due to keyframe granule.
The previous condition of 0 page size was wrong,
that would disable the mechanism for all frames at
a start of a page, thus some keyframes still would not
get their own granule.
The real problem is that header packets must not be flushed,
but they have (and must have) 0 granule and thus would
be detected as keyframes.
Add a separate parameter to mark header packets.

Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-03-30 16:32:16 -04:00
Andres Gonzalez
ed3e1b485a oggenc: add pagesize option to set preferred page size
When set, if an Ogg stream buffer has enough data, a page is made
instead of filling maximum-size pages. Using smaller pages results
smaller seek intervals at the expense of higher container overhead.

Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-03-30 16:32:03 -04:00
Michael Niedermayer
2b6325cacb Merge remote-tracking branch 'qatar/master'
* qatar/master:
  h264: drop ff_h264_ prefix from static function ff_h264_decode_rbsp_trailing()
  h264: Make ff_h264_decode_end() static, it is not used externally.
  output-example: K&R formatting cosmetics, comment spelling fixes
  avf: make the example output the proper message
  avf: fix audio writing in the output-example
  mov: don't overwrite existing indexes.
  lzw: fix potential integer overflow.
  truemotion: forbid invalid VLC bitsizes and token values.
  truemotion2: handle out-of-frame motion vectors through edge extension.
  configure: Check for a different SDL function

Conflicts:
	configure
	doc/examples/muxing.c
	libavcodec/truemotion2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-30 22:10:17 +02:00
Michael Niedermayer
a76a2ffe9d libavformat: Fix several "incompatible pointer type" warnings.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-30 19:52:30 +02:00
Diego Biurrun
afd8a3957b output-example: K&R formatting cosmetics, comment spelling fixes 2012-03-30 13:43:29 +02:00
Michael Niedermayer
2b7c0c9fe1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  mp3dec: perform I/S and M/S only when frame mode is joint stereo.
  id3v2: add another mimetype for JPEG image
  lzw: prevent buffer overreads.
  WMAL: Remove inaccurate and unnecessary doxy
  h264: fix cabac-on-stack after safe cabac reader.
  truemotion2: convert packet header reading to bytestream2.

Conflicts:
	libavcodec/lzw.c
	libavcodec/truemotion2.c
	libavformat/id3v2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-30 06:05:39 +02:00
Michael Niedermayer
d3d5e84f33 img2dec: remove GLOB_TILDE support.
tilde expansion should/can be done by the shell

Reviewed-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-30 05:16:15 +02:00
Luca Barbato
93f6d0475f avf: make the example output the proper message
av_dump_format needs the codecs opened in order to print
them.
2012-03-29 17:07:19 -07:00
Luca Barbato
28db30aa29 avf: fix audio writing in the output-example
av_init_packet does not reset data and size fields in AVPacket,
avcodec_encode_audio2 can use preallocated AVPacket.
2012-03-29 17:07:19 -07:00
Alexander Strasser
3e1ff8eb27 img2dec: Recognize glob meta chars only if prefixed by %
This changes globbing support to only be used if the character
contains at least one glob meta character that is preceded by
an unescaped %. To escape a literal % one would use %% which is
identical to the way to match a % with image2 sequence generation
feature.

* Makes it possible to have patterns like %04d-[720p].jpg work
  again with sequence number generation. Previously this would
  always be detected as a glob pattern and was interpreted by
  the image2 glob code instead.

* Makes it possible to use %*-[720p].jpg to match above pattern
  without having to double escape it to be not interpreted by most
  shells and not by the image2 glob code (previously one would
  need to use \*-\\\[720p\\\].jpg to achieve the same)

Signed-off-by: Alexander Strasser <eclipse7@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-30 00:04:16 +02:00
Brian Olson
0be130e37b img2: glob matching for image series
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-30 00:03:41 +02:00
Ronald S. Bultje
4f7c7624c0 mov: don't overwrite existing indexes.
Prevents all kind of badness if files contain multiple
indexes.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-03-29 11:36:14 -07:00
Michael Niedermayer
30ced7e69f lavf: print ts values in pts < dts error message
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-29 20:31:14 +02:00
Kostya Shishkov
f704eb612b id3v2: add another mimetype for JPEG image 2012-03-29 15:49:06 +02:00
Michael Niedermayer
d40ff29cac Merge remote-tracking branch 'qatar/master'
* qatar/master:
  asf: only set index_read if the index contained entries.
  cabac: add overread protection to BRANCHLESS_GET_CABAC().
  cabac: increment jump locations by one in callers of BRANCHLESS_GET_CABAC().
  cabac: remove unused argument from BRANCHLESS_GET_CABAC_UPDATE().
  cabac: use struct+offset instead of memory operand in BRANCHLESS_GET_CABAC().
  h264: add overread protection to get_cabac_bypass_sign_x86().
  h264: reindent get_cabac_bypass_sign_x86().
  h264: use struct offsets in get_cabac_bypass_sign_x86().
  h264: fix overreads in cabac reader.
  wmall: fix seeking.
  lagarith: fix buffer overreads.
  dvdec: drop unnecessary dv_tablegen.h #include
  build: fix doc generation errors in parallel builds
  Replace memset(0) by zero initializations.
  faandct: Remove FAAN_POSTSCALE define and related code.
  dvenc: print allowed profiles if the video doesn't conform to any of them.
  avcodec_encode_{audio,video}: only reallocate output packet when it has non-zero size.
  FATE: add a test for vp8 with changing frame size.
  fate: add kgv1 fate test.
  oggdec: calculate correct timestamps in Ogg/FLAC

Conflicts:
	libavcodec/4xm.c
	libavcodec/cook.c
	libavcodec/dvdata.c
	libavcodec/dvdsubdec.c
	libavcodec/lagarith.c
	libavcodec/lagarithrac.c
	libavcodec/utils.c
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-03-29 04:11:10 +02:00
Ronald S. Bultje
44257ef426 asf: only set index_read if the index contained entries.
This allows falling back to a binary search if the file contains no
index, thus fixing seeking in such files (e.g. luckynight.wma).
2012-03-28 10:22:25 -07:00
Diego Biurrun
a92be9b856 Replace memset(0) by zero initializations.
Also remove one pointless zero initialization in rangecoder.c.
2012-03-28 09:38:33 +02:00