1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-08-29 04:36:13 +02:00
Commit Graph

12289 Commits

Author SHA1 Message Date
Michael Niedermayer
d641ee94b5 lavf: Fix assignments in if()
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-14 13:12:55 +02:00
Michael Niedermayer
a601eb9543 rtmpproto: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:42 +01:00
Michael Niedermayer
1ac5a8d7e3 lavf/mux: Fix assignments in if()
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-14 05:05:41 +01:00
Stefano Sabatini
98247e3368 lavf: clarify/extend documentation for AVFormatContext::analyzeduration
"analyzeduration" is not used to detect the input duration, but to
specify the max probe data duration. Fix option description and related
doc entry accordingly.
2013-01-13 15:09:09 +01:00
Stefano Sabatini
78e27c44c3 lavf/utils: clarify/extend messages in avformat_find_stream_info()
In particular, specify the unit of the shown values in case the max probe
size/duration is reached.
2013-01-13 15:09:09 +01:00
Michael Niedermayer
3bcf443f91 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec: Send a valid "delay since SR" value in the RTCP RR packets

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 14:06:01 +01:00
Michael Niedermayer
6cd1dbe6df Merge commit 'e568db40258d549777ac1c16971678e18a18f5f5'
* commit 'e568db40258d549777ac1c16971678e18a18f5f5':
  rtpdec: Calculate and report packet reception jitter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 14:00:12 +01:00
Michael Niedermayer
6d6eb7c12c Merge commit 'abae27ed3acd0a7c54f11760c5be2d2653c4edf8'
* commit 'abae27ed3acd0a7c54f11760c5be2d2653c4edf8':
  rtpdec: Fix the calculation of expected number of packets
  fate: vp3: Fix fate-vp3-coeff-level64 test dependencies

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-13 13:54:52 +01:00
Martin Storsjö
22c436c85e rtpdec: Send a valid "delay since SR" value in the RTCP RR packets
Previously, we always signalled a zero time since the last RTCP
SR, which is dubious.

The code also suggested that this would be the difference in
RTP NTP time units (32.32 fixed point), while it actually is
in in 1/65536 second units. (RFC 3550 section 6.4.1)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 19:55:49 +02:00
Martin Storsjö
e568db4025 rtpdec: Calculate and report packet reception jitter
This brings back some code that was added originally in 4a6cc061
but never was used, and was removed as unused in 4cc843fa. The
code is updated to actually work and is tested to return sane
values.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 19:53:53 +02:00
Martin Storsjö
abae27ed3a rtpdec: Fix the calculation of expected number of packets
The base_seq variable is set to first_seq - 1 (in
rtp_init_sequence), so no + 1 is needed here.

This avoids reporting 1 lost packet from the start.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 19:48:41 +02:00
Paul B Mahol
868ac91c8d frmdec: do not abuse ff_codec_get_id()
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-12 14:39:13 +00:00
Michael Niedermayer
db1ba2213f lavf: use avpriv_find_pix_fmt instead of ff_
Found-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 14:09:08 +01:00
Michael Niedermayer
15daa8f9dd Merge commit 'f61272f0efd80da437570aad2c40e00f9d3f4fe6'
* commit 'f61272f0efd80da437570aad2c40e00f9d3f4fe6':
  ratecontrol: K&R cosmetic formatting
  rtpdec: Remove a useless todo comment

Conflicts:
	libavcodec/ratecontrol.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 13:32:13 +01:00
Michael Niedermayer
e730c3a2cb Merge commit '54cb096ee4558b3bfc28c2fcd6418ce82dc39fe1'
* commit '54cb096ee4558b3bfc28c2fcd6418ce82dc39fe1':
  rtsp: Remove an outdated comment
  rtsp: Remove references to weirdly named variables in other files

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 13:14:05 +01:00
Michael Niedermayer
dda2d29748 Merge commit 'c44784c9bb9d0ddf5d39d0dfa640816a57b8f457'
* commit 'c44784c9bb9d0ddf5d39d0dfa640816a57b8f457':
  rtp: Rename a static variable to normal naming conventions
  rtp: Cosmetic cleanup

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-12 13:00:50 +01:00
Stefano Sabatini
255ec768da lavf/http: fix/extend option descriptions
In particular, favor predicative form over nominal description of the set
parameter. This is more globally consistent.
2013-01-12 10:41:56 +01:00
Martin Storsjö
f6804c3e1b rtpdec: Remove a useless todo comment
The question can be answered: No, we do not know the initial sequence
number from the SDP. In certain cases, it can be known from the
RTP-Info response header in RTSP though. (In that case, we use it as
timestamp origin, but not for rtp receiver statistics.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 00:02:17 +02:00
Martin Storsjö
54cb096ee4 rtsp: Remove an outdated comment
It is unclear what the bug exactly was and if it ever was fixed,
and we don't even support decoding via faad any longer. The
comment has been present since d0deedcb in 2006.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 00:02:11 +02:00
Martin Storsjö
3900d53fb1 rtsp: Remove references to weirdly named variables in other files
One of them is renamed now, but mentioning it by name serves
no purpose here.  The other table mentioned ceased to exist
under that name in 4934884a1 in 2006.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 00:02:04 +02:00
Martin Storsjö
c44784c9bb rtp: Rename a static variable to normal naming conventions
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 00:01:51 +02:00
Martin Storsjö
58b5971881 rtp: Cosmetic cleanup
Remove leftover debug comments, fix brace placement and
add whitespace, remove unnecessary and weirdly placed braces.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-12 00:01:28 +02:00
Michael Niedermayer
e5e422bcc3 mxfdec: Fix integer overflow with many channels
Fixes division by zero

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Reviewed-by: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 17:42:04 +01:00
Michael Niedermayer
2e230cf1b5 au: switch to ff_pcm_read_packet() again, after the merge
This fixes G722 durations

Suggested-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 15:18:58 +01:00
Michael Niedermayer
6fc0648932 Merge commit '7b8c5b263bc680eff5710bee5994de39d47fc15e'
* commit '7b8c5b263bc680eff5710bee5994de39d47fc15e':
  vc1dec: prevent a crash due missing pred_flag parameter
  matroska: Fix use after free

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 13:01:07 +01:00
Paul B Mahol
3ac85bebd5 lavf: remove nonexistent symbols
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-11 10:07:52 +00:00
Dale Curtis
ae3d416369 matroska: Fix use after free
Signed-off-by: Dale Curtis <dalecurtis@chromium.org>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-11 00:12:08 +01:00
Michael Niedermayer
36055aa876 idcin: fix memleak
Found-by: valgrind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 17:26:03 +01:00
Michael Niedermayer
91da6b97c7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtpdec_vp8: Don't trim too much data from broken frames
  rtpdec_vp8: Simplify code by using an existing helper function

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 13:07:25 +01:00
Michael Niedermayer
ac6e074fb7 Merge commit 'ed79093222ceb42f0c3a39095a69af0b32be5450'
* commit 'ed79093222ceb42f0c3a39095a69af0b32be5450':
  rtpdec: Add a terminating null byte at the end of the SDES/CNAME
  yuv4mpeg: do not use deprecated functions
  oggdec: fix faulty cleanup prototype
  idcin: return 0 from idcin_read_packet() on success.

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:57:08 +01:00
Michael Niedermayer
56ca871fb3 Merge commit '5d0450461ff729be5f531d333d29754155e406c5'
* commit '5d0450461ff729be5f531d333d29754155e406c5':
  idcin: better error handling
  idcin: check for integer overflow when calling av_get_packet()

Conflicts:
	libavformat/idcin.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:52:02 +01:00
Michael Niedermayer
a0dbe2a58c Merge commit '7040e479a1530b2eda4b89a182d5eb50a77bd907'
* commit '7040e479a1530b2eda4b89a182d5eb50a77bd907':
  idcin: allow seeking back to the first packet
  idcin: set AV_PKT_FLAG_KEY for video packets with a palette

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:45:46 +01:00
Michael Niedermayer
6e44662b05 Merge commit 'ccc0ffb1ba3fc1adb05a9f56dfc26131e61db3fb'
* commit 'ccc0ffb1ba3fc1adb05a9f56dfc26131e61db3fb':
  idcin: set start_time and packet duration instead of manually tracking pts.
  idcin: set channel_layout

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:40:41 +01:00
Michael Niedermayer
8d691f8777 Merge commit '12c2530b1d87fa94f81ea97df575b77c825e6f4f'
* commit '12c2530b1d87fa94f81ea97df575b77c825e6f4f':
  idcin: fix check for presence of an audio stream
  idcin: validate header parameters

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:33:50 +01:00
Michael Niedermayer
65b8527993 Merge commit 'f7bf72a4a1146a7583577c9bdc066767e1ba3c6a'
* commit 'f7bf72a4a1146a7583577c9bdc066767e1ba3c6a':
  idcinvideo: correctly set AVFrame defaults
  yadif: Port inline assembly to yasm
  au: remove unnecessary casts
  au: return AVERROR codes instead of -1

Conflicts:
	libavcodec/idcinvideo.c
	libavfilter/x86/yadif_template.c
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:27:16 +01:00
Michael Niedermayer
8c7de73e20 Merge commit 'fd9147f11456a7e39a998d7270684922a2a46e6d'
* commit 'fd9147f11456a7e39a998d7270684922a2a46e6d':
  au: cosmetics: pretty-print and remove pointless comments

Conflicts:
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:19:22 +01:00
Michael Niedermayer
dc5767ff0a Merge commit 'c88d245c9866e48cb8a238b7564964c1fcf3315f'
* commit 'c88d245c9866e48cb8a238b7564964c1fcf3315f':
  au: use ff_raw_write_packet()
  au: set stream start time and packet durations

Conflicts:
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:05:54 +01:00
Michael Niedermayer
452f632903 Merge commit 'af68a2baae6761044cbed95575e8bcfebf55c6f1'
* commit 'af68a2baae6761044cbed95575e8bcfebf55c6f1':
  au: use %u when printing id and channels since they are unsigned
  au: validate sample rate

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 11:21:03 +01:00
Michael Niedermayer
be894d6cae Merge commit 'c837b38dd33a11c3810e988a60193a858eb4f58c'
* commit 'c837b38dd33a11c3810e988a60193a858eb4f58c':
  au: move skipping of unused data to before parameter validation
  au: do not arbitrarily limit channel count

Conflicts:
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 11:12:08 +01:00
Michael Niedermayer
70a65ecabf Merge commit '9a7b56883d1333cdfcdf0fa7584a333841b86114'
* commit '9a7b56883d1333cdfcdf0fa7584a333841b86114':
  au: set bit rate
  au: validate bits-per-sample separately from codec tag
  rtpdec_vp8: Mark broken packets with AV_PKT_FLAG_CORRUPT

Conflicts:
	libavformat/au.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 10:18:35 +01:00
Martin Storsjö
76c40fbef0 rtpdec_vp8: Don't trim too much data from broken frames
Previously, for broken frames, we only returned the first partition
of the frame (we would append all the received packets to the packet
buffer, then set pkt->size to the size of the first partition, since
the rest of the frame could have lost data inbetween) - now instead
return the full buffered data we have, but don't append anything more
to the buffer after the lost packet discontinuity. Decoding the
truncated packet should hopefully get better quality than trimming out
everything after the first partition.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-10 09:43:01 +02:00
Martin Storsjö
3b366c3aa0 rtpdec_vp8: Simplify code by using an existing helper function
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-10 09:41:44 +02:00
Martin Storsjö
ed79093222 rtpdec: Add a terminating null byte at the end of the SDES/CNAME
This is required by RFC 3550 (section 6.5):

   The list of items in each chunk MUST be terminated by one or more
   null octets, the first of which is interpreted as an item type of
   zero to denote the end of the list.

This was implicitly added as padding before, unless the host name
length matched up so no padding was added.

This makes wireshark parse the packets properly if other RTCP items
are appended to the same packet.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-10 09:40:49 +02:00
Luca Barbato
a800fd5fc7 yuv4mpeg: do not use deprecated functions
Use the libavutil replacement.
2013-01-09 21:07:49 +01:00
Luca Barbato
fba8e5b608 oggdec: fix faulty cleanup prototype 2013-01-09 21:07:48 +01:00
Justin Ruggles
5d0450461f idcin: better error handling
Add some additional checks for EOF and print error messages on an incomplete
header or packet.

FATE reference updated for id-cin-video due to the demuxer no longer
returning a partial video packet at EOF.
2013-01-09 14:49:07 -05:00
Justin Ruggles
06deaf8ad3 idcin: return 0 from idcin_read_packet() on success.
This matches the AVInputFormat.read_packet() API.
2013-01-09 14:49:07 -05:00
Justin Ruggles
7040e479a1 idcin: allow seeking back to the first packet
Also, do not allow seek-by-byte, as there is no way to find the next packet
boundary.
2013-01-09 14:49:06 -05:00
Justin Ruggles
ccc0ffb1ba idcin: set start_time and packet duration instead of manually tracking pts.
Also, use 1 / sample_rate for audio stream time_base.
2013-01-09 14:49:06 -05:00
Justin Ruggles
12c2530b1d idcin: fix check for presence of an audio stream 2013-01-09 14:49:06 -05:00
Justin Ruggles
33f58c3616 idcin: check for integer overflow when calling av_get_packet()
chunk_size is unsigned 32-bit, but av_get_packet() takes a signed int as the
packet size.
2013-01-09 14:49:06 -05:00
Justin Ruggles
49543373f3 idcin: set AV_PKT_FLAG_KEY for video packets with a palette 2013-01-09 14:49:06 -05:00
Justin Ruggles
4b840930da idcin: set channel_layout 2013-01-09 14:49:06 -05:00
Justin Ruggles
b0c96e0613 idcin: validate header parameters
Avoids using unsupported parameters and signed integer overflows.
2013-01-09 14:49:06 -05:00
Justin Ruggles
fd9147f114 au: cosmetics: pretty-print and remove pointless comments 2013-01-09 11:52:57 -05:00
Justin Ruggles
c88d245c98 au: use ff_raw_write_packet() 2013-01-09 11:52:57 -05:00
Justin Ruggles
af68a2baae au: use %u when printing id and channels since they are unsigned 2013-01-09 11:52:57 -05:00
Justin Ruggles
c837b38dd3 au: move skipping of unused data to before parameter validation
Also do not unnecessarily skip 0 bytes.
2013-01-09 11:52:57 -05:00
Justin Ruggles
f7a3c540c5 au: remove unnecessary casts 2013-01-09 11:52:57 -05:00
Justin Ruggles
bdd00e2d1b au: set stream start time and packet durations 2013-01-09 11:52:57 -05:00
Justin Ruggles
47d029a4c1 au: validate sample rate 2013-01-09 11:52:57 -05:00
Justin Ruggles
fb48f825e3 au: do not arbitrarily limit channel count
Nothing in the AU specification sets a limit on channel count.
We only need to avoid an overflow in the packet size calculation.
2013-01-09 11:52:57 -05:00
Justin Ruggles
2f8207b1c6 au: return AVERROR codes instead of -1 2013-01-09 11:52:57 -05:00
Justin Ruggles
2613de8805 au: do not set pkt->size directly
It is already set by av_get_packet() even for partial reads.
2013-01-09 11:52:57 -05:00
Justin Ruggles
9a7b56883d au: set bit rate 2013-01-09 11:52:56 -05:00
Justin Ruggles
bd4cdef5a8 au: set block_align and use it in au_read_packet() 2013-01-09 11:52:56 -05:00
Justin Ruggles
3f98848d6e au: validate bits-per-sample separately from codec tag 2013-01-09 11:52:56 -05:00
Peter Ross
5b69c07d12 frmdec: tag 5 is AV_PIX_FMT_BGRA with reversed alpha (0=solid/opaque .. 255=transparent) 2013-01-10 00:14:56 +11:00
Michael Niedermayer
4765f63538 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  xan: Convert to bytestream2
  oggenc: add a page_duration option and deprecate the pagesize option
  x86: lavr: add SSE2/AVX dither_int_to_float()

Conflicts:
	libavcodec/xan.c
	libavformat/oggenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 12:30:14 +01:00
Michael Niedermayer
75afbe2ab4 Merge commit '1fb8f6a44f06e48386450fe0363aefc02583d24a'
* commit '1fb8f6a44f06e48386450fe0363aefc02583d24a':
  x86: lavr: add SSE2 quantize() for dithering
  doc/APIchanges: fill in missing dates and hashes.
  rtpdec_vp8: Request a keyframe if RTP packets are lost

Conflicts:
	doc/APIchanges

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 12:14:56 +01:00
Michael Niedermayer
34c1c08c66 Merge commit '86d9181cf41edc3382bf2481f95a2fb321058689'
* commit '86d9181cf41edc3382bf2481f95a2fb321058689':
  rtpdec: Support sending RTCP feedback packets

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 11:48:14 +01:00
Michael Niedermayer
8c3ae9ee66 Merge commit '42805eda554a7fc44341282771531e7837ac72b7'
* commit '42805eda554a7fc44341282771531e7837ac72b7':
  rtpdec: Store the dynamic payload handler in the rtpdec context

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 11:42:01 +01:00
Michael Niedermayer
7b822b1de2 Merge commit '9c80ed836a511293f4cc3a858060969d32f2b1ce'
* commit '9c80ed836a511293f4cc3a858060969d32f2b1ce':
  rtpdec_vp8: Avoid a warning about a possibly unused variable
  rtpdec_vp8: Make sure the previous packet is returned

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 11:35:57 +01:00
Michael Niedermayer
aed58f6aae Merge commit '92e354b655613b88c3c202a7e19e7037daed37eb'
* commit '92e354b655613b88c3c202a7e19e7037daed37eb':
  rtpdec_vp8: Set the timestamp when returning a deferred packet
  hlsenc: Make the start_number option set the right variable

Conflicts:
	libavformat/hlsenc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-09 11:26:31 +01:00
Martin Storsjö
71194ef6a8 rtpdec_vp8: Mark broken packets with AV_PKT_FLAG_CORRUPT
This allows the caller to either include them (and get more packets
decoded, but possibly some nonperfect frames), or discard them (by
setting fflags=discardcorrupt).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-09 12:14:00 +02:00
Clément Bœsch
119d70db50 lavf/mux: do not pass a copy of the packet to write_packet().
Sometimes the muxer modifies the packet, like for instance lavf/mp3enc
changing pkt->destruct in order to keep a copy. These changes must be
kept, even though the muxer behaviour is questionable. Regression since
0072116.

Fixes #2124.
2013-01-08 23:21:05 +01:00
Justin Ruggles
59220d559b oggenc: add a page_duration option and deprecate the pagesize option
This uses page duration instead of byte size to determine when to buffer
the page. Also, it tries to avoid continued pages by buffering the current
page if there are already packets in the page and adding the next packet
would require it to be continued on a new page. This can improve seeking
performance.

The default page duration is 1 second, which is much saner than filling
all page segments by default.
2013-01-08 15:42:36 -05:00
Michael Niedermayer
252316c885 img2dec: fix -loop
This fixes a infinite loop with -loop and -vframes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 20:07:16 +01:00
Martin Storsjö
6f72441120 rtpdec_vp8: Request a keyframe if RTP packets are lost
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 19:23:56 +02:00
Paul B Mahol
626756aed2 img2dec: do not change packet pts for image2pipe
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-08 16:51:18 +00:00
Martin Storsjö
86d9181cf4 rtpdec: Support sending RTCP feedback packets
This sends NACK for missed packets and PLI (picture loss indication)
if a depacketizer indicates that it needs a new keyframe, according
to RFC 4585.

This is only enabled if the SDP indicated that feedback is supported
(via the AVPF or SAVPF profile names).

The feedback packets are throttled to a certain maximum interval
(currently 250 ms) to make sure the feedback packets don't eat up
too much bandwidth (which might be counterproductive). The RFC
specifies a more elaborate feedback packet scheduling.

The feedback packets are currently sent independently from normal
RTCP RR packets, which is not totally spec compliant, but works
fine in the environments I've tested it in. (RFC 5506 allows this,
but requires a SDP attribute for enabling it.)

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:48:14 +02:00
Martin Storsjö
42805eda55 rtpdec: Store the dynamic payload handler in the rtpdec context
This allows calling other dynamic payload handler functions if
needed.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:47:27 +02:00
Martin Storsjö
9c80ed836a rtpdec_vp8: Avoid a warning about a possibly unused variable
The warning is a false positive, but I prefer actually initializing
it over masking it with av_uninit, since the code is not performance
critical.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:43:11 +02:00
Martin Storsjö
09ed8098ff rtpdec_vp8: Make sure the previous packet is returned
This is a bug from c7d4de3d73 - if the previous frame wasn't
returned yet (due to missing the final packets), but we have
enough data of it to return the first partition, we write that into
pkt and set returned_old_frame. That commit forgot returning 0 for
the case where this current packet didn't have the end_packet flag
set.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:42:29 +02:00
Martin Storsjö
92e354b655 rtpdec_vp8: Set the timestamp when returning a deferred packet
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:42:20 +02:00
Kanglin
ba8cb33273 hlsenc: Make the start_number option set the right variable
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 17:33:56 +02:00
Paul B Mahol
55d32eed8f img2dec: seeking support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-08 14:29:22 +00:00
Michael Niedermayer
315f15afe7 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  rtsp: Respect max_delay for the reordering queue when using custom IO

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 13:14:39 +01:00
Michael Niedermayer
48d30f6733 Merge commit '8729698d50739524665090e083d1bfdf28235724'
* commit '8729698d50739524665090e083d1bfdf28235724':
  rtsp: Recheck the reordering queue if getting a new packet
  lavr: log channel conversion description for any-to-any functions
  lavr: mix: reduce the mixing matrix when possible
  lavr: cosmetics: reindent

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 13:05:13 +01:00
Michael Niedermayer
3bca69c2a8 Merge commit '9a00374cb4512a58a1fee366b850dfa87c76e1f3'
* commit '9a00374cb4512a58a1fee366b850dfa87c76e1f3':
  doc: Fix a few typos in the developer documentation
  xwma: Remove unused variable
  asfdec: Fix printf format string length modifier

Conflicts:
	doc/developer.texi

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 12:34:14 +01:00
Martin Storsjö
f811cd2d47 rtsp: Respect max_delay for the reordering queue when using custom IO
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 11:22:43 +02:00
Martin Storsjö
8729698d50 rtsp: Recheck the reordering queue if getting a new packet
If we timed out and consumed a packet from the reordering queue,
but didn't return a packet to the caller, recheck the queue status.
Otherwise, we could end up in an infinite loop, trying to consume
a queued packet that has already been consumed.

CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-08 11:22:37 +02:00
Michael Niedermayer
1a088f61e1 oggparseskeleton: Check the overall start time before using it.
Fixes division by zero

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 02:58:01 +01:00
Michael Niedermayer
953061ed95 lavf/utils: more complete dts checks
Fixes division by zero

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-08 00:28:35 +01:00
Michael Niedermayer
0780fe2740 rmdec: Limit videobufsize to remaining amount of data
Fixes excessive memory allocation

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 21:35:52 +01:00
Peter Ross
a572cc8c7a wtvdec: prevent memory leak in get_tag() 2013-01-08 01:59:13 +11:00
Michael Niedermayer
7a6beedd3f oggparsevorbis: fix vorbis_cleanup return type
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 14:20:28 +01:00
Michael Niedermayer
1700be5855 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  oggdec: make sure the private parse data is cleaned up

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 14:20:21 +01:00
Michael Niedermayer
2db8660f09 Merge commit '89b51b570daa80e6e3790fcd449fe61fc5574e07'
* commit '89b51b570daa80e6e3790fcd449fe61fc5574e07':
  oggdec: free the ogg streams on read_header failure

Conflicts:
	libavformat/oggdec.c

Original commit this was based on: (this merge just moves the function up)
commit 07a866282f
Author: Michael Niedermayer <michaelni@gmx.at>
Date:   Tue Nov 20 15:12:37 2012 +0100

    oggdec: fix memleak on header parsing failure

    Fixes Ticket1931

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07 14:03:48 +01:00
Benjamin Larsson
bbae68596e xwma: Remove unused variable
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-07 13:25:20 +01:00
Peter Ross
8b4842c2e2 wtvdec: warn about truncated files 2013-01-07 23:14:58 +11:00
Peter Ross
801b636633 wtvenc: mux thumbnail picture 2013-01-07 23:14:58 +11:00
Peter Ross
361ecb6176 wtvdec: ignore WM/MediaThumbType metadata entry
This tag is used by Windows Media Centre in displaying the thumbnail,
and should be transformed into FFmpeg metadata string.
2013-01-07 23:14:58 +11:00
Peter Ross
508836932f wtvdec: demux thumbnail picture to AVStream.attached_pic 2013-01-07 23:14:58 +11:00
Paul B Mahol
2a89081cad Add EVRCA and SMV codec id
Demuxing files should be possible even if there are
no decoding support in lavc (yet).

Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-07 11:43:20 +00:00
Peter Ross
6cff56f0ba frmdec: tag 2 is AV_PIX_FMT_RGB0 2013-01-07 22:06:06 +11:00
Peter Ross
8d4c817c4a frmdec: terminate frm_pix_fmt_tags 2013-01-07 22:06:06 +11:00
Peter Ross
f2dc158b0a frmdec: use AV_PIX_FMT_xxx 2013-01-07 22:06:06 +11:00
Paul B Mahol
7f7f31bfcb iff: support seeking with maud
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-07 10:19:49 +00:00
Paul B Mahol
3174137d41 w64: fact guid support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-07 10:08:38 +00:00
Diego Biurrun
e817d9139f asfdec: Fix printf format string length modifier 2013-01-07 09:21:42 +01:00
Michael Niedermayer
2713e43ac8 ff_get_audio_frame_size: try to fix wma in wav
Fixes Ticket1905, Ticket2114

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 19:46:04 +01:00
Carl Eugen Hoyos
1ae9d2820e Support decoding AC-3 in wav.
All known samples are actually ac3-in-spdif-in-wav, so use
the spdif demuxer to get the ac3 frames.
2013-01-06 18:48:51 +01:00
Luca Barbato
d894f74762 oggdec: make sure the private parse data is cleaned up 2013-01-06 17:59:54 +01:00
Luca Barbato
89b51b570d oggdec: free the ogg streams on read_header failure
Plug an annoying memory leak on broken files.
2013-01-06 17:59:54 +01:00
Carl Eugen Hoyos
9ff92cf195 012v decoder.
The decoder also supports a12v, but removes the transparency layer
since no samples with actual transparency are available for testing.
2013-01-06 17:59:27 +01:00
Carl Eugen Hoyos
9ffe790afc Support stereo as experimental feature in mmf / Yamaha SMAF.
Fixes ticket #1085.
2013-01-06 16:38:24 +01:00
Diego Biurrun
a0c5917f86 Drop Snow codec
Snow is a toy codec with no real-world use and horrible code.
2013-01-06 16:30:02 +01:00
Michael Niedermayer
8214c1d82c mxfenc: avoid depending on private codec structures and functions
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06 14:08:08 +01:00
Peter Ross
c44b4ee6ea frmdec: reduce probe score to reflect test accuracy (and pass probetest) 2013-01-06 16:51:57 +11:00
Peter Ross
3d0994be2f Megalux Frame demuxer 2013-01-06 13:58:15 +11:00
Carl Eugen Hoyos
1a34103f0f mmf.c: Use LIBAVFORMAT_IDENT when writing Yamaha SMAF version information. 2013-01-05 23:39:46 +01:00
内田佳久
7e5d4fa97d mmf.c: Do not write metadata into the SMAF Contents Info chunk. 2013-01-05 23:11:09 +01:00
James Almer
b7d77f8e64 astenc: Enable the loop flag only when needed
Signed-off-by: James Almer <jamrial@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-05 17:07:42 +01:00
Paul B Mahol
14d50c19dc w64dec: support metadata (summarylist guid)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-05 11:03:52 +00:00
Carl Eugen Hoyos
c52e07bb6e Fix AVCI50 SPS to specify a SAR of 4:3 instead of 3:4. 2013-01-05 09:20:03 +01:00
Xi Wang
3b81bba3bc mxfdec: fix NULL checking in mxf_get_sorted_table_segments()
The following out-of-memory check is broken.

    *sorted_segments  = av_mallocz(...);
    if (!sorted_segments) { ... }

The correct NULL check should use *sorted_segments.

Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2013-01-04 20:43:42 -05:00
Michael Niedermayer
fa11f36876 mpegpsenc: avoid shifting dts/pts
Only shift if needed to avoid negative scr when requested
or for dvd.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Michael Niedermayer
cf369d4449 mpegpsenc: show first SCR/DTS at debug level
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Michael Niedermayer
9fd0cf8a3b mpegpsenc: move preload recalculation to where its needed
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Michael Niedermayer
2a23f6035e mpegpsenc: Fix SCR handling for DVD
This makes the initial SCR equal 0

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Michael Niedermayer
84aba8eed9 mpegpsenc: restructure SCR handling
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 20:58:59 +01:00
Justin Ruggles
f2214c6224 au: use ff_raw_write_packet() 2013-01-04 19:52:57 +00:00
Paul B Mahol
d885cc41e5 Fix "knwon" typo and add a check in tools/patcheck
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-04 19:24:37 +00:00
Michael Niedermayer
a08194b4c5 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavr: fix missing " in header documentation
  aviobuf: Discard old buffered, previously read data in ffio_read_partial

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:29:15 +01:00
Michael Niedermayer
8d0b2aae71 Merge commit 'e96406eda4f143f101bd44372f7b2d542183000a'
* commit 'e96406eda4f143f101bd44372f7b2d542183000a':
  rtsp: Add support for depacketizing RTP data via custom IO

Conflicts:
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:23:19 +01:00
Michael Niedermayer
ea96feddb7 Merge commit '3f95f0dda55fca74b646937095a02a8fa9776622'
* commit '3f95f0dda55fca74b646937095a02a8fa9776622':
  rtpdec: Move the URLContext used for RTCP RR out from the context, to a parameter

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:13:30 +01:00
Michael Niedermayer
e1cf1a9c89 Merge commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8'
* commit 'a0b7e289075dccf223b7f407790d8a86fc5d77e8':
  aviobuf: Partial support for reading in read/write contexts
  build: Avoid detecting bogus components named 'x'

Conflicts:
	libavcodec/allcodecs.c
	libavdevice/alldevices.c
	libavformat/allformats.c
	libavformat/aviobuf.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:01:54 +01:00
Michael Niedermayer
d0b450457b matroskadec: fix ffio_init_context() usage
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-04 13:01:30 +01:00
Carl Eugen Hoyos
155cdc1d05 Add a comment about an intentional misspelling to the id3v1 tags. 2013-01-04 10:32:39 +01:00
Carl Eugen Hoyos
2284448775 Revert "Fix id3v1 tag spelling."
The misspelling is used in the specification.

This reverts commit 95016fd1c8.
2013-01-04 10:29:31 +01:00
Benjamin Kerensa
95016fd1c8 Fix id3v1 tag spelling. 2013-01-04 10:11:29 +01:00
Reimar Döffinger
c5142a95a5 Support more AVC-Intra files
Followup to http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/151321
patch by Reimar and Thomas Mundt fixes some AVC-Intra files from
different tickets.
It does not fix http://samples.ffmpeg.org/ffmpeg-
bugs/trac/ticket524/AVCI50.mov

Authors of this commit are: Reimar and Thomas Mundt
Patch and commit message mostly taken from ffmpeg-devel, mail by Carl
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 21:48:38 +01:00
Reimar Döffinger
def01739c1 mxfdec: Set AV_FIELD_PROGRESSIVE, needed for AVC-intra
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 21:44:33 +01:00
Paul B Mahol
48340bbb36 aiffenc: metadata support
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-03 19:35:02 +00:00
Michael Niedermayer
bbb11f383e lavf: add return to silence compiler warning
The added statement is not reachable

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-03 20:02:14 +01:00
Martin Storsjö
53c25ee073 aviobuf: Discard old buffered, previously read data in ffio_read_partial
This makes RTP custom IO work properly with pure read-only
AVIOContexts as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:17:10 +02:00
Martin Storsjö
e96406eda4 rtsp: Add support for depacketizing RTP data via custom IO
To use this, set sdpflags=custom_io to the sdp demuxer. During
the avformat_open_input call, the SDP is read from the AVFormatContext
AVIOContext (ctx->pb) - after the avformat_open_input call,
during the av_read_frame() calls, the same ctx->pb is used for reading
packets (and sending back RTCP RR packets).

Normally, one would use this with a read-only AVIOContext for the
SDP during the avformat_open_input call, then close that one and
replace it with a read-write one for the packets after the
avformat_open_input call has returned.

This allows using the RTP depacketizers as "pure" demuxers, without
having them tied to the libavformat network IO.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:15:27 +02:00
Martin Storsjö
3f95f0dda5 rtpdec: Move the URLContext used for RTCP RR out from the context, to a parameter
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:14:34 +02:00
Martin Storsjö
a0b7e28907 aviobuf: Partial support for reading in read/write contexts
So far, aviocontexts are used either in pure-read or pure-write
mode - full read/write mode doesn't work well (and implementing it
is a much larger, not totally trivial change).

This patch allows using avio_read and ffio_read_partial on
read/write aviocontexts, where the read operations are passed
through directly unbuffered, while writes are buffered as usual.

This is enough to support the operations needed by packet based
data transfer like in udp/rtp, where aviocontext is the only
public API for hooking up custom IO.

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-01-03 15:14:09 +02:00