summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* configure: Rework dependency handling for conflicting componentsDiego Biurrun2017-02-07
| | | | This makes the feature more visible and obvious.
* configure: Add name parameter to require_pkg_config() helper functionDiego Biurrun2017-02-07
| | | | | | | This allows distinguishing between the internal variable name for external libraries and the pkg-config package name. Having both names available avoids special-casing outside the helper function when the two identifiers do not match.
* Use bitstream_init8() where appropriateDiego Biurrun2017-02-07
|
* configure: Use cppflags check helper functions where appropriateDiego Biurrun2017-02-06
|
* configure: Add stdlib.h #include to CPPFLAGS check helper functionsDiego Biurrun2017-02-06
| | | | This ensures that added CPPFLAGS are validated against libc headers.
* wma: Convert to the new bitstream readerAlexandra Hájková2017-02-06
|
* aarch64: vp9itxfm: Restructure the idct32 store macrosMartin Storsjö2017-02-05
| | | | | | | | | This avoids concatenation, which can't be used if the whole macro is wrapped within another macro. This is also arguably more readable. Signed-off-by: Martin Storsjö <martin@martin.st>
* arm: vp9itxfm: Avoid .irp when it doesn't save any linesMartin Storsjö2017-02-05
| | | | | | This makes it more readable. Signed-off-by: Martin Storsjö <martin@martin.st>
* asfdec: Use the ASF stream count when iteratingJohn Stebbins2017-02-04
| | | | | | | | | The AVFormat stream count can be larger due external factors, such as an id3 tag appended. Avoid an out of bound read. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* asm: Consistently uppercase SECTION markersDiego Biurrun2017-02-03
|
* build: Ignore generated .version filesDiego Biurrun2017-02-03
|
* rtmp: Correctly handle the Window Acknowledgement Size packetsMartin Storsjö2017-02-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | This swaps which field is set when the Window Acknowledgement Size and Set Peer BW packets are received, renames the fields in order to clarify their role further and adds verbose comments explaining their respective roles and how well the code currently does what it is supposed to. The Set Peer BW packet tells the receiver of the packet (which can be either client or server) that it should not send more data if it already has sent more data than the specified number of bytes, without receiving acknowledgement for them. Actually checking this limit is currently not implemented. In order to be able to check that properly, one can send the Window Acknowledgement Size packet, which tells the receiver of the packet that it needs to send Acknowledgement packets (RTMP_PT_BYTES_READ) at least after receiving a given number of bytes since the last Acknowledgement. Therefore, when we receive a Window Acknowledgement Size packet, this sets the maximum number of bytes we can receive without sending an Acknowledgement; therefore when handling this packet we should set the receive_report_size field (previously client_report_size). Signed-off-by: Martin Storsjö <martin@martin.st>
* rtmp: Rename packet types to closer match the specMartin Storsjö2017-02-03
| | | | | | | | | | | | | | | | | | | | | | Also rename comments and log messages accordingly, and add clarifying comments for some hardcoded values. The previous names were taken from older, reverse engineered references. These names match the official public rtmp specification, and matches the names used by wirecast in annotating captured streams. These names also avoid hardcoding the roles of server and client, since the handling of them is irrelevant of whether we act as server or client. The RTMP_PT_PING type maps to RTMP_PT_USER_CONTROL. The SERVER_BW and CLIENT_BW types are a bit more intertwined; RTMP_PT_SERVER_BW maps to RTMP_PT_WINDOW_ACK_SIZE and RTMP_PT_CLIENT_BW maps to RTMP_PT_SET_PEER_BW. Signed-off-by: Martin Storsjö <martin@martin.st>
* configure: Add require_cpp_condition() convenience functionDiego Biurrun2017-02-02
| | | | | Simplifies checking for conditions in external library headers and aborting if said conditions are not met.
* configure: Add require_header() convenience functionDiego Biurrun2017-02-02
| | | | | Simplifies checking for external library headers and aborting if the external library support was requested, but is not available.
* configure: Simplify libxcb checkDiego Biurrun2017-02-02
|
* svq3: Convert to the new bitstream readerAlexandra Hájková2017-02-02
|
* configure: Drop weak dependencies on external libraries for webm muxerDiego Biurrun2017-02-02
| | | | | | Weak dependencies on external libraries do not obviate having to explicitly enable these libraries, so the weak dependency does not simplify the configure command line nor have any real effect.
* configure: Add proper weak dependency of drawtext filter on libfontconfigDiego Biurrun2017-02-02
|
* configure: Simplify inline asm check with appropriate helper functionDiego Biurrun2017-02-02
|
* configure: Merge compiler/libc/os hacks sectionsDiego Biurrun2017-02-02
|
* 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>