summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
* 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
|
* magicyuv: Convert to the new bitstream readerDiego Biurrun2017-01-25
|
* truemotion2rt: Convert to the new bitstream readerDiego Biurrun2017-01-25
|
* wavpack: Convert to the new bitstream readerAlexandra Hájková2017-01-25
|
* mpc: Convert to the new bitstream readerAlexandra Hájková2017-01-25
|
* des-test: Pass the proper types to av_des_*() functionsDiego Biurrun2017-01-24
| | | | Fixes a number of incompatible pointer type warnings.
* swscale-test: const correctness for pointer variableDiego Biurrun2017-01-24
| | | | | libswscale/swscale-test.c:369:20: warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type [-Wincompatible-pointer-types] libswscale/swscale.h:207:5: note: expected ‘const uint8_t * const* {aka const unsigned char * const*}’ but argument is of type ‘uint8_t ** {aka unsigned char **}’
* OS/2: Try to commit memory above 1GBDave Yeo2017-01-22
| | | | | Signed-off-by: Dave Yeo <dave.r.yeo@gmail.com> Signed-off-by: Diego Biurrun <diego@biurrun.de>
* dxtory: Convert to the new bitstream readerAlexandra Hájková2017-01-20
|
* apedec: Convert to the new bitstream readerAlexandra Hájková2017-01-20
|
* mpegvideoenc: make a table constAnton Khirnov2017-01-19
|
* zmbvenc: get rid of a global tableAnton Khirnov2017-01-19
|
* hevc: Mark as having threadsafe initDerek Buitenhuis2017-01-19
| | | | | Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* als: Convert to the new bitstream readerAlexandra Hájková2017-01-17
|
* nvenc: Explicitly push the cuda context on encodingLuca Barbato2017-01-17
| | | | | Make sure that NVENC does not misbehave if other cuda usages happen in the application.
* alac: Convert to the new bitstream readerAlexandra Hájková2017-01-13
|
* rtp: Convert to the new bitstream readerAlexandra Hájková2017-01-13
|
* mov: Convert to the new bitstream readerAlexandra Hájková2017-01-13
|
* avconv: Do not pass NULL to avio_tellLuca Barbato2017-01-13
| | | | The null demuxer does not have a backing AVIOContext.
* qsv: Set the correct range for la_depthLuca Barbato2017-01-13
| | | | Setting an invalid range for it makes the encoder behave inconsistently.
* theora: export cropping information instead of handling it internallyAnton Khirnov2017-01-12
|
* h264dec: export cropping information instead of handling it internallyAnton Khirnov2017-01-12
|
* h264dec: be more explicit in handling container croppingAnton Khirnov2017-01-12
| | | | | | | | | | | | | The current condition can trigger in cases where it shouldn't, with unexpected results. Make sure that: - container cropping is really based on the original dimensions from the caller - those dimenions are discarded on size change The code is still quite hacky and eventually should be deprecated and removed, with the decision about which cropping is used delegated to the caller.
* hevcdec: export cropping information instead of handling it internallyAnton Khirnov2017-01-12
|
* lavc: add an option for exporting cropping information to the callerAnton Khirnov2017-01-12
| | | | | Also, add generic code for handling cropping, so the decoders can export just the cropping size and not bother with the rest.
* frame: add a cropping rectangle to AVFrameAnton Khirnov2017-01-12
| | | | | Extend the width/height doxy to clarify that it should store coded values.
* qsvdec: do not sync PIX_FMT_QSV surfacesAnton Khirnov2017-01-12
| | | | | | | | | | Introducing enforced sync points in arbitrary places is bad for performance. Since the vast majority of receiving code (QSV VPP or encoders, retrieving frames through hwcontext) will do the syncing, this change should not be visible to most callers. But bumping micro just in case. This is also consistent with what VAAPI hwaccel does.
* dxva2: allow an empty array of ID3D11VideoDecoderOutputViewSteve Lhomme2017-01-12
| | | | | | | We can pick the correct slice index directly from the ID3D11VideoDecoderOutputView casted from data[3]. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* dxva2: get the slice number directly from the surface in D3D11VASteve Lhomme2017-01-12
| | | | | | | | | No need to loop through the known surfaces, we'll use the requested surface anyway. The loop is only done for DXVA2. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* Replace cmdutils_common_opts.h by a macroDiego Biurrun2017-01-12
|
* build: Remove stray duplicate conditional variable declarationDiego Biurrun2017-01-12
|
* vaapi_h264: Scale log2_max_pic_order_cnt_lsb with max_b_framesMark Thompson2017-01-11
| | | | | | | Before this change, it was possible to overflow pic_order_cnt_lsb and generate a stream with invalid POC numbering. This makes sure that the field is large enough that a single IDR B* P sequence uses fewer than half the available POC lsb values.
* vaapi_encode: Support forcing IDR frames via AVFrame.pict_typeMark Thompson2017-01-11
|
* vaapi_encode: Fix GOP sizingMark Thompson2017-01-11
| | | | | | This change makes the configured GOP size be respected exactly - previously the value could be exceeded slightly due to flaws in the frame type selection logic.
* interplayvideo: Convert to the new bitstream readerAlexandra Hájková2017-01-09
|