summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* lavu: Refactor side data wipingLuca Barbato2014-12-18
| | | | | | | | And make sure the nb_side_data field is reset as well. Based on an initial patch from wm4 <nfxjfg@googlemail.com>. CC: libav-stable@libav.org
* fate: add test for offset theoraVittorio Giovara2014-12-18
|
* theora: support different visible and coded frame sizeVittorio Giovara2014-12-18
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* fate: add a DPX parser testVittorio Giovara2014-12-18
|
* DPX parserPaul B Mahol2014-12-18
| | | | | | Additional improvements and fixes by Michael Niedermayer <michaelni@gmx.at>. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* tiff: support encoding and decoding 64bit imagesCarl Eugen Hoyos2014-12-18
|
* movenc: Adjust the pts of new fragments similarly to what is done for dtsMartin Storsjö2014-12-18
| | | | | | | The pts and the corresponding duration is written in sidx atoms, thus make sure these match up correctly. Signed-off-by: Martin Storsjö <martin@martin.st>
* libavformat: Add a muxer wrapping mpegts encoding into RTPMartin Storsjö2014-12-18
| | | | | | | | | | | | | | | Since this structurally is quite different from normal RTP (multiple streams are muxed into one single mpegts stream, which is packetized into one single RTP session), it is kept as a separate muxer. Since this structurally also behaves differently than normal RTP, all of the other muxers that do chained RTP muxing (rtsp, sap, mp4) would need to be updated similarly to handle this - in particular, creating one single rtp_mpegts muxer for the whole presentation instead of one rtp muxer per stream. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtp: Initial H.261 supportThomas Volkert2014-12-18
| | | | | | | | | | | | | | The packetizer only supports splitting at GOB headers - if such aren't available frequently enough, it splits at any random byte offset (not at a macroblock boundary either, which would be allowed by the spec) and sends a payload header pretend that it starts with a GOB header. As long as a receiver doesn't try to handle such cases cleverly but just drops broken frames, this shouldn't matter too much in practice. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpenc: Avoid brittle switch fallthroughsMartin Storsjö2014-12-18
| | | | | | | | | Instead explicitly jump to the default case in the cases where it is wanted, and avoid fallthrough between different codecs, which could easily introduce bugs if people editing the code aren't careful. Signed-off-by: Martin Storsjö <martin@martin.st>
* h261dec: Fix context initialization sequenceMichael Niedermayer2014-12-18
| | | | | | | | | | ff_mpv_common_init sets s->context_initialized. This fixes decoding of h261 in the cases where the demuxer hasn't already set the frame size. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* h261enc: Disallow sliced encodingMartin Storsjö2014-12-18
| | | | | | | | | | | This avoids trying to do sliced encoding, even if a slice/packet size is requested (via the -ps option or the rtp_payload_size field), since the encoder currently doesn't support it (or at least our decoder can't decode it, even if the h261_encode_gob_header function is hooked up to be called from the slicing part in mpegvideo_enc.c). Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_h263_rfc2190: Clear the stored bits if discarding buffered dataMartin Storsjö2014-12-18
| | | | | | | | | If we throw away the buffered incomplete frame, make sure to also throw away the buffered bits of an incomplete byte at the same time. CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpenc: Set the AVFMT_TS_NONSTRICT flagMartin Storsjö2014-12-18
| | | | | | | | In particular, when packetizing mpegts into rtp, the input packet timestamp may come from more than one stream, which could cause multiple packets be written with the same timestamp. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpenc: Set the timestamp properly when sending mpegts data, tooMartin Storsjö2014-12-18
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* srtpproto: fix option flag typeTristan Matthews2014-12-18
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: Adjust the start time of a segment to the end of the previous segmentMartin Storsjö2014-12-17
| | | | | | | | | | | | | | | | This is the same adjustment that the mp4 muxer does to the start timestamp of fragments, since the timestamp of a sample in an mp4 file is implicit from the sum of earlier sample durations. This avoids gaps in the timeline (which can stop dash.js from playing it back), and makes sure the timestamp on the segmenter level matches what the mp4 muxer actually writes into the segments. This is only an issue if the AVPacket duration of the last packet of a segment doesn't point to the actual start timestamp of the next packet (the first in the next segment). Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: Write segment timelines properly if the timeline has gapsMartin Storsjö2014-12-17
| | | | | | | | | | | | Write a new start time if the duration of the previous segment didn't match the start of the next one. Check that segments actually are continuous before writing a repeat count. This makes sure timestamps deduced from the timeline actually match the real start timestamp as written in filenames (if using a template containing $Time$). Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: Fix handling of zero-length metadata valuesMartin Storsjö2014-12-15
| | | | | | | | | | | | | | | | Since 3cec81f4d4, a zero-length metadata value would try to allocate 2*0 bytes, where av_malloc() returns NULL. Always add one to the allocated length, to allow space for a null terminator in the zero-length case. Incidentally, this fixes fate-alac on RVCT 4.0, where a compiler bug seems to mess up the mov muxer to the point that it writes the wrong sort of metadata. Previously this bug was undetected, but since 3cec81f4d4 such mov files started returning AVERROR(ENOMEM) in the mov demuxer. Signed-off-by: Martin Storsjö <martin@martin.st>
* tiff: set the correct return value when check_size() failsVittorio Giovara2014-12-15
| | | | Only one instance affected and solved as other occurences.
* tiff: Check the check_size() return value and forward itLuca Barbato2014-12-15
| | | | | | | | | | Also use the same type for add_entry and check_size. Bug-Id: CID 700699 CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Vittorio Giovara <vittorio.giovarao@gmail.com>
* prores: Evaluate all the quantizersLuca Barbato2014-12-15
| | | | | | | | | Prevent an uninitialized data access. CC: libav-stable@libav.org Bug-Id: CID 703824 / CID 703825 Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* matroskadec: Fix read-after-free in matroska_read_seek()Xiaohan Wang2014-12-15
| | | | | | | | | | | In matroska_read_seek(), |tracks| is assigned at the begining of the function. However, functions like matroska_parse_cues() could reallocate the tracks and invalidate |tracks|. This assigns |tracks| only before using it, so that it will not get invalidated elsewhere. Bug-Id: chromium/427266
* mpegvideo: move REBASE_PICTURE where it is usedVittorio Giovara2014-12-15
| | | | Drop an unused #undef from h264 decoder.
* mpegvideo: remove unused function declarationVittorio Giovara2014-12-15
|
* hevc: always clip luma_log2_weight_denomVittorio Giovara2014-12-15
| | | | | | | Its value shall be between 0 and 7 according to the specifications. CC: libav-stable@libav.org Bug-Id: CID 1257502
* vaapi: wrap codec specific functions in appropiate #ifsThiago Santos2014-12-14
| | | | | | | | | | Fix linking when only a subset of vaapi decoders is enabled. Bug-Id: 760 CC: libav-stable@libav.org Signed-off-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* svq1dec: Unbreak the scratch buffer allocationMichael Niedermayer2014-12-14
| | | | | | | | | | | | | | | The input packets are always assumed to be padded and the av_fast_ family of function takes a pointer to a pointer. Thanks to Nicolas Dufresne <nicolas.dufresne@collabora.com> for a similar patch. Introduced in 7b588bb691644e1b3c168b99accf74248a24e3cf. Bug-Id: 766 CC: libav-stable@libav.org Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* asvenc: Forward the error instead of asserting on itLuca Barbato2014-12-14
| | | | | Bug-Id: CID 732997 CC: libav-stable@libav.org
* avconv: Use the mpeg12 private option scan_offsetJulien Ramseier2014-12-14
| | | | | | | | | Introduced in aed790070486b1b01b48106310d9d0ca1730e459 Bug-Id: debian/773055 CC: libav-stable@libav.org Signed-off-by: Luca Barbato <lu_zero@gentoo.org> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: add mapping for H.264 Constrained Baseline profile and fallbackRémi Denis-Courmont2014-12-14
| | | | | | | Old VDPAU drivers do not support this newly defined profile, so falling back to Main profile is necessary for backward binary compatibility. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: add mapping for H.264 Extended profileRémi Denis-Courmont2014-12-14
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* vdpau: revector macro to reduce line spanRémi Denis-Courmont2014-12-14
| | | | Signed-off-by: Anton Khirnov <anton@khirnov.net>
* thread: use "" instead of <> for including the w32pthreads wrapperAnton Khirnov2014-12-14
| | | | Found-by: Dave Yeo <dave.r.yeo@gmail.com>
* dashenc: Change the duration fields to 64 bitMartin Storsjö2014-12-10
| | | | | | | | For the last_duration field, it's mostly theoretical, but the total_duration field more probably may need to actually be 64 bit. Bug-Id: CID 1254944 Signed-off-by: Martin Storsjö <martin@martin.st>
* libfdk-aacdec: Fix a boundary checkMartin Storsjö2014-12-10
| | | | | | | | | This avoids potential out of bounds writes, with potential future versions of the library. Bug-Id: CID 1254945 CC: libav-stable@libav.org Signed-off-by: Martin Storsjö <martin@martin.st>
* xcbgrab: Support empty filename string correctlyLuca Barbato2014-12-10
| | | | | Bug-Id: CID 1254664 CC: libav-stable@libav.org
* dashenc: log file output progress in verbose modeBryan Huh2014-12-10
| | | | | | | As the manifest/segments are flushed to disk, log to stderr the progress, when in verbose logging mode Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpproto: Fix the input RTP data format checkMartin Storsjö2014-12-09
| | | | | | | | | | | | | Only the upper 2 bits of the first byte are known to be a fixed value. The lower bits in the first byte of a RTP packet could be set if the input is from another RTP packetizers than libavformat's, but for RTCP packets, they would also be set when sending RTCP RR packets, triggering false warnings about incorrect input format to the protocol. Signed-off-by: Martin Storsjö <martin@martin.st>
* fate: add dolby true hd testsJanne Grunau2014-12-09
| | | | | | | | The existing meridian audio test does not test ff_mlp_rematrix_channel_arm. This sample (first 640k of https://samples.libav.org/A-codecs/TrueHD/TrueHD.raw) uses ff_mlp_rematrix_channel_arm. Since this sample has 5.1 channels it also allows testing the integrated downmixing.
* arm: mlpdsp: handle pic offset calculation in a macroJanne Grunau2014-12-09
| | | | | Makes the code easier to read since it hides different offset calculations for arm and thumb mode.
* arm: make ff_mlp_filter_channel_arm and ff_mlp_rematrix_channel_arm position ↵Janne Grunau2014-12-09
| | | | | | independent No significant difference in used cpu cycles on a cortex-a9.
* libavformat: Build hevc.o when building the RTP muxerMartin Storsjö2014-12-09
| | | | | | | | | The RTP muxer enables the actual codepaths within sdp.c, which depend on hevc.o since e5cfc8fd. This fixes builds with --disable-everything --enable-muxer=rtp. Signed-off-by: Martin Storsjö <martin@martin.st>
* aarch64: Use .data.rel.ro for const data with relocationsMartin Storsjö2014-12-09
| | | | | | | This reverts commit c00365b46d464ce47716315c1801818d811bdb9a in addition to using a different section. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: Use .data.rel.ro for const data with relocationsMartin Storsjö2014-12-09
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* mov: further expand the list of parsed metadata tagsDave Rice2014-12-08
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* mov: expand the list of parsed metadata tagsVittorio Giovara2014-12-08
| | | | Based on L-Smash code by Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>.
* mov: parse XMP metadata on demandVittorio Giovara2014-12-08
| | | | | | | | | The Extensible Metadata Platform tag can contain various kind of data which are not strictly related to the video file, such as history of edits and saves from the project file. So display XMP metadata only when the user explicitly requires it. Based on a patch by Marek Fort <marek.fort@chyronhego.com>.
* mov: parse @PRM and @PRQ metadata tagsVittorio Giovara2014-12-08
| | | | | | | | | These tags describe the product and quicktime library version respectively. They originate from Adobe Premiere, but also some other programs use them. Contrary to other tags, they contain 'raw' data which is not to be interpreted as iso639 or mac strings. Based on a patch by Peter Ross <pross@xvid.org>.
* mov: cosmetics: reorder the list of tagsVittorio Giovara2014-12-08
| | | | | Alphabetically order the list by the tag to facilitate the insertion of new ones.