summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* wip: Disable decouple api supportcuvidLuca Barbato2017-02-04
| | | | It will be updated to match the current internals.
* wip: cuvid: Relax the constraint about the cuda outputLuca Barbato2017-02-04
| | | | The npp scaler is a valid consumer for cuda frames.
* wip fixupLuca Barbato2017-02-04
|
* CUVID: Add hardware acceleration supportRuta Gadkari2017-02-04
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* CUVID: Add support for CUVID decodeTimo Rothenpieler2017-02-04
| | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* lavc: deprecate refcounted_frames fieldwm42017-02-01
| | | | | | | | | No deprecation guards, because the old decode API (for which this field is needed) doesn't have any either. This field should be removed together with the old decode calls. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* hwcontext_cuda: implement frames_get_constraintswm42017-02-01
| | | | | | Copied and modified from hwcontext_qsv.c. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Mark some arrays that never change as const.Anton Khirnov2017-02-01
|
* avconv: allow -b to be used with streamcopyAnton Khirnov2017-02-01
| | | | In this mode it tells the muxer about the bitrate of the input stream.
* ffv1: Convert to the new bitstream readerAlexandra Hájková2017-01-31
|
* h261dec: Convert to the new bitstream readerAlexandra Hájková2017-01-31
|
* shorten: Convert to the new bitstream readerAlexandra Hájková2017-01-31
|
* ralf: Convert to the new bitstream readerAlexandra Hájková2017-01-31
|
* loco: Convert to the new bitstream readerAlexandra Hájková2017-01-31
|
* fic: Convert to the new bitstream readerAlexandra Hájková2017-01-31
|
* dirac: Convert to the new bitstream readerAlexandra Hájková2017-01-31
|
* cavs: Convert to the new bitstream readerAlexandra Hájková2017-01-31
|
* aic: Convert to the new bitstream readerAlexandra Hájková2017-01-31
|
* golomb: Convert to the new bitstream readerDiego Biurrun2017-01-31
|
* configure: Add proper weak dependency of avformat on networkDiego Biurrun2017-01-31
|
* pgssubdec: reset rle_data_len/rle_remaining_len on allocation errorAndreas Cadhalpun2017-01-31
| | | | | | | | The code relies on their validity and otherwise can try to access a NULL object->rle pointer, causing segmentation faults. Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* mov: Avoid memcmp of uninitialised dataMark Thompson2017-01-30
| | | | | | | | | The string codec name need not be as long as the value we are comparing it to, so memcmp may make decisions derived from uninitialised data that valgrind then complains about (though the overall result of the function will always be the same). Use strncmp instead, which will stop at the first zero byte and therefore not encounter this issue.
* vaapi_encode: Add VP8 supportMark Thompson2017-01-30
|
* vaapi_encode: Pass framerate parameters to driverMark Thompson2017-01-30
| | | | | | | Only do this when building for a recent VAAPI version - initial driver implementations were confused about the interpretation of the framerate field, but hopefully this will be consistent everywhere once 0.40.0 is released.
* vaapi_h264: Enable VBR modeMark Thompson2017-01-30
| | | | | | | | Default to using VBR when a target bitrate is set, unless the max rate is also set and matches the target. Changes to the Intel driver mean that min_qp is also respected in this case, so set a codec default to unset the value rather than using the current default inherited from the MPEG-4 part 2 encoder.
* vaapi_encode: Support VBR modeMark Thompson2017-01-30
| | | | | | This includes a backward-compatibility hack to choose CBR anyway on old drivers which have no CBR support, so that existing programs will continue to work their options now map to VBR.
* doc: add dash muxerPeter Große2017-01-31
| | | | | Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: add webm supportPeter Große2017-01-31
| | | | | | | Use webm muxer for VP8, VP9 and Opus codec, mp4 muxer otherwise. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: use avio_dynbuf instead of packet_write callbackPeter Große2017-01-31
| | | | | | | | | | | | | | | The dash_write function drops data, if no IOContext is initialized. Since the mp4 muxer is used in "frag_custom" mode, data is only written when calling av_write_frame(NULL) explicitly and thus there will be no data loss. To add support for webm as subordinate muxer, which doesn't have such a mode, a dynamic buffer is required to provide an always initialized IOContext. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: copy language and role metadata from streams assigned to setsPeter Große2017-01-31
| | | | | Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: default to one AdaptationSet per streamPeter Große2017-01-31
| | | | | | | | | | | | | | | | Previously all mapped streams of a media type (video, audio) where assigned to a single AdaptationSet. Using the DASH live profile it is mandatory, that the segments of all representations are aligned, which is currently not enforced. This leads to problems when using video streams with different key frame intervals. So to play safe, default to one AdaptationSet per stream, unless overwritten by explicit assignment. To get the old assignment scheme, use -adaptation_sets "id=0,streams=v id=1,streams=a" Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: allow assigning all streams of a media type to an AdaptationSetPeter Große2017-01-31
| | | | | | | | | Using the characters "v" or "a" instead of stream index numbers for assigning streams in the adaption_set option, all streams matching that given type will be added to the AdaptationSet. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: add support for assigning streams to AdaptationSetsPeter Große2017-01-31
| | | | | | | | | Also makes sure all streams are assigned to exactly one AdaptationSet. This patch is originally based partially on code by Vignesh Venkatasubramanian. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: calculate stream bitrate from first segment if not availablePeter Große2017-01-31
| | | | | | | | | Bandwidth information is required in the manifest, but not always provided by the demuxer. In that case calculate the bandwith based on the size and duration of the first segment. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: separate segments based on current segment durationPeter Große2017-01-31
| | | | | | | | | | | | | | | | | | | | | | | | | The current implementation creates new segments comparing pkt->pts - first_pts > nb_segs * min_seg_duration This works fine, but if the keyframe interval is smaller than "min_seg_duration" segments shorter than the minimum segment duration are created. Example: keyint=50, min_seg_duration=3000000 segment 1 contains keyframe 1 (duration=2s < total_duration=3s) and keyframe 2 (duration=4s >= total_duration=3s) segment 2 contains keyframe 3 (duration=6s >= total_duration=6s) segment 3 contains keyframe 4 (duration=8s < total_duration=9s) and keyframe 5 (duration=10s >= total_duration=9s) ... Segment 2 is only 2s long, shorter than min_seg_duration = 3s. To fix this, new segments are created based on the actual written duration. Otherwise the option name "min_seg_duration" is misleading. Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: add option to provide UTC timing sourcePeter Große2017-01-31
| | | | | | | | | | | | | | | | | If set, adds a UTCTiming tag in the manifest. This is part of the recommendations listed in the "Guidelines for Implementations: DASH-IF Interoperability Points" [1][2] Section 4.7 describes means for the Availability Time Synchronization. A usable default is "https://time.akamai.com/?iso" [1] http://dashif.org/guidelines/ [2] http://dashif.org/wp-content/uploads/2016/12/DASH-IF-IOP-v4.0-clean.pdf (current version as of writing) Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: Clean up temporary files on interruptDiego Biurrun2017-01-29
|
* configure: Place all temporary files in one separate directoryMichał Górny2017-01-29
| | | | | | | | | | Place all temporary files within a single, quasi-atomically created temporary directory rather than relying on unsafe 'mktemp -u'. This prevents possible race conditions in case two parallel 'mktemp -u' calls returned the same path. Additionally, it reduces TMPDIR pollution by keeping all test files in a single subdirectory. Signed-off-by: Diego Biurrun <diego@biurrun.de>
* rtmp: Account for bytes_read wraparoundLuca Barbato2017-01-29
| | | | | | | Servers seem to be happy to receive the wrapped-around value as long as they receive a report, otherwise they timeout. Initially reported and analyzed by Thomas Bernhard.
* vaapi_encode: Add MPEG-2 supportMark Thompson2017-01-29
|
* dashenc: increase buffer time hint in the manifestAnton Schubert2017-01-27
| | | | | | | to avoid rebuffering on the clientside for difficult network conditions. Signed-off-by: Anton Schubert <ischluff@mailbox.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: add mandatory id to AdaptationSet and Period in manifestPeter Große2017-01-27
| | | | | Signed-off-by: Peter Große <pegro@friiks.de> Signed-off-by: Martin Storsjö <martin@martin.st>
* dashenc: fix ISO8601 UTC parsingAnton Schubert2017-01-27
| | | | | | | | | Appends Z to timestamp to force ISO8601 datetime parsing as UTC. Without Z, some browsers (Chrome) interpret the timestamp as localtime and others (Firefox) interpret it as UTC. Signed-off-by: Anton Schubert <ischluff@mailbox.org> Signed-off-by: Martin Storsjö <martin@martin.st>
* build: Map -Wall compiler flag to -W3 for MSVC and -Wextra to -W4Diego Biurrun2017-01-26
| | | | These are more appropriate warning level equivalents.
* build: Detect blocks C language extension and add it as VDA dependencyDiego Biurrun2017-01-26
| | | | | | Newer versions of OS X use the blocks extension in VDA-related headers. Some compilers, like current gcc, do not support the blocks extension and fail to compile code using those headers.
* configure: Add quotes around a variable which might be emptyMartin Storsjö2017-01-26
| | | | | | | | | | | If we only have a target compiler but no host compiler, the $type variable will be empty once. (Currently we fail to do a cross build if no host compiler is available due to using the host compiler for processing option lists though. But despite that, this comparison in configure needs quotes.) Signed-off-by: Martin Storsjö <martin@martin.st>
* fifo: Return the correct AVERROR valueLuca Barbato2017-01-26
|
* configure: Use proper compiler-specific speed flags for hostccDiego Biurrun2017-01-25
|
* configure: Move optflags checks to a more sensible placeDiego Biurrun2017-01-25
|
* tak: Convert to the new bitstream readerAlexandra Hájková2017-01-25
|