summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* avformat/hls: remove redundant codeSteven Liu2018-04-181-3/+0
| | | | | Suggested-by: Richard Shaffer <rshaffer@tunein.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* avcodec/proresdec_lgpl: pass return values instead of discarding themPaul B Mahol2018-04-181-4/+5
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* libavformat/http: Fix memory leak in get_cookies.Richard Shaffer2018-04-171-0/+1
|
* avformat/movenc: support writing iTunes cover imageTimo Teräs2018-04-172-5/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | Fixes https://trac.ffmpeg.org/ticket/2798 This makes movenc handle AV_DISPOSITION_ATTACHED_PIC and write the associated pictures in iTunes cover atom. This corresponds to how 'mov' demuxer parses and exposes the cover images when reading. Most of the existing track handling loops properly ignore these 'virtual streams' as MOVTrack->entry is never incremented for them. However, additional tests are added as needed to ignore them. Tested to produce valid output with: ffmpeg -i movie.mp4 -i thumb.jpg -disposition:v:1 attached_pic \ -map 0 -map 1 -c copy movie-with-cover.mp4 The cover image is also copied correctly with: ffmpeg -i movie-with-cover.mp4 -map 0 -c copy out.mp4 AtomicParseley says that the attached_pic stream is properly not visible in the main tracks of the file. Signed-off-by: Timo Teräs <timo.teras@iki.fi>
* ffprobe: report unavailable SAR correctly in stream infoTimo Teräs2018-04-171-1/+1
| | | | | | | | | av_guess_sample_aspect_ratio() will return undefined or missing value as {0,1}. This fixes show_stream() to check numerator to display 'N/A' when appropriate. show_frame() does this already correctly. Signed-off-by: Timo Teräs <timo.teras@iki.fi>
* avfilter: add lowshelf and highshelf filtersPaul B Mahol2018-04-175-12/+76
| | | | | | | These are old bass and treble filters. Make bass and treble filters better at boosting. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/dashenc: addition of segment index correction logicVishwanath Dixit2018-04-172-5/+37
| | | | | | | | | | | | | | The logic is applicable only when use_template is enabled and use_timeline is disabled. The logic monitors the flow of segment indexes. If a streams's segment index value is not at the expected real time position, then the logic corrects that index value. Typically this logic is needed in live streaming use cases. The network bandwidth fluctuations are common during long run streaming. Each fluctuation can cause the segment indexes fall behind the expected real time position. Without this logic, players will not be able to consume the content, even after encoder's network condition comes back to normal state.
* avformat/dashenc: addition of muxer overhead for @bandwidth param in MPDVishwanath Dixit2018-04-171-1/+1
|
* avformat/dashenc: constructing MPD's bandwidth string locallyVishwanath Dixit2018-04-171-11/+9
|
* avformat/dashenc: addition of muxer overhead in master playlist's bandwidthVishwanath Dixit2018-04-171-2/+5
|
* avformat/dashenc: logic to compute muxer overheadVishwanath Dixit2018-04-171-0/+10
|
* avformat/dashenc: addition of @availabilityTimeOffset in MPDVishwanath Dixit2018-04-171-1/+13
| | | | | availability time of Nth segment = availabilityStartTime + (N*segment duration) - availabilityTimeOffset. This field helps to reduce the latency by about a segment duration in streaming mode.
* avformat/dashenc: setting @availabilityStartTime when the first frame is readyVishwanath Dixit2018-04-171-3/+4
| | | | | | | | | | | @availabilityStartTime specifies the anchor for the computation of the earliest availability time (in UTC) for any Segment in the Media Presentation. As per this requirement, the @AvailabilityStartTime should be set to the wallclock time at which the first frame of the first segment begins encoding. But, it was getting set only when the first segment was completely ready. Making the required correction in this patch. This correction is mainly needed to reduce the latency in live streaming use cases.
* avformat/dashenc: removed 'write_manifest' call from 'write_header'Vishwanath Dixit2018-04-171-3/+0
| | | | | | | Calling 'write_manifest' from 'write_header' was causing creation of first MPD with invalid values. Ex: zero @duration param value. Also, the manifest files (MPD or M3U8s) should be created when at-least one media frame is ready for consumption.
* avformat/dashenc: writing average segment duration for @duration in template ↵Vishwanath Dixit2018-04-171-1/+1
| | | | mode
* avformat/dashenc: segmentation at the configured segment duration rateVishwanath Dixit2018-04-172-3/+15
| | | | | | | When use_template is enabled and use_timeline is disabled, typically it is required to generate the segments at the configured segment duration rate on an average. This commit is particularly needed to handle the segmentation when video frame rates are fractional like 29.97 or 59.94 fps.
* avformat/dashenc: replacing 'min_seg_duration' with 'seg_duration'Vishwanath Dixit2018-04-173-6/+24
| | | | | | | | | There are use cases where average segment duration needs to be configured and muxer is expected to maintain the average segment duration. So, using the name 'min_seg_duration' will be misleading. So, changing the parameter name to 'seg_duration', where it can be minimum segment duration or average segment duration based on the use-case. The additional updates needed for this functinality are made the sub-sequent patches of this patch series.
* avformat/hls: clean up duplicate option fieldsRichard Shaffer2018-04-171-65/+9
| | | | | | | | | | | | | | The HLSContext struct contains fields which duplicate the data stored in the avio_opts field. This change removes those fields in favor of avio_opts, and updates the code accordingly. The original patch caused the buffer pointed to by new_cookies in open_url to be leaked. The only thing that buffer is used for is to store the value until it can be passed to av_dict_set. To fix the leak, v2 of the patch simply calls av_dict_set with the AV_DICT_DONT_STRDUP_VAL flag, so that the dictionary takes ownership of the memory instead of copying it again. Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Richard Shaffer <rshaffer@tunein.com>
* avformat/hls: copy rw_timeout from parent to child AVIOContexts.Richard Shaffer2018-04-171-1/+1
| | | | | | | | | | | The rw_timeout option is currently not applied when opening media playlist, segment, or encryption key URLs. This can cause the HLS demuxer to block indefinitely, even when the rw_timeout option has been specified. This change simply enables carrying over the rw_timeout option when the demuxer opens these URLs. Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Richard Shaffer <rshaffer@tunein.com>
* libavformat/dashdec: Avoid multiple HTTP requests for initialization segment ↵sanilraut2018-04-171-11/+71
| | | | | | | that is common among all representations Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: sanilraut <raut.sanil@gmail.com>
* Revert "avformat/hls: copy rw_timeout from parent to child AVIOContexts."Steven Liu2018-04-171-1/+1
| | | | This reverts commit 36deec010cc87c8990477e1703dbf785212992b5.
* Revert "avformat/dashdec: Avoid multiple HTTP requests for initialization ↵Steven Liu2018-04-171-71/+11
| | | | | | segment that is common among all representations" This reverts commit 4effd1c4a2c52a68c25ed0bc5474f6b4c64fd644.
* avformat/hls: copy rw_timeout from parent to child AVIOContexts.Steven Liu2018-04-171-1/+1
| | | | | | | | | | | The rw_timeout option is currently not applied when opening media playlist, segment, or encryption key URLs. This can cause the HLS demuxer to block indefinitely, even when the rw_timeout option has been specified. This change simply enables carrying over the rw_timeout option when the demuxer opens these URLs. Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Richard Shaffer <rshaffer@tunein.com>
* avformat/dashdec: Avoid multiple HTTP requests for initialization segment ↵Steven Liu2018-04-171-11/+71
| | | | | | | that is common among all representations Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: sanilraut <raut.sanil@gmail.com>
* avformat/hls: remove redundant codeSteven Liu2018-04-171-18/+9
| | | | | Reviewed-by: Jun Zhao <mypopydev@gmail.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* configure: add nvcc to CMDLINE_SETTimo Rothenpieler2018-04-161-0/+1
| | | | This was somehow forgotten and nobody noticed until now.
* doc/APIchanges: Fix typos in hashesMichael Niedermayer2018-04-161-2/+2
| | | | | | Thanks-to: Moritz Barsnick <barsnick@gmx.net> for finding the correct ones Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/af_afir: make max IR length configurablePaul B Mahol2018-04-163-7/+11
| | | | | | Also increase max allowed dry/wet value. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/flacenc: add flac_init()James Almer2018-04-161-10/+20
| | | | Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/flacenc: support writing attached picturesRodger Combs2018-04-161-36/+242
| | | | | | Usage of packet queueing API and some cleaning done by the committer. Signed-off-by: James Almer <jamrial@gmail.com>
* avfilter/af_headphone: switch to activatePaul B Mahol2018-04-161-87/+67
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/movenc: forbid muxing AV1 streams until the spec is finishedJames Almer2018-04-161-0/+4
| | | | | | | This prevents creating potentially broken files, as both the AV1 and the AV1 in ISOMBFF specs are unfinished. Signed-off-by: James Almer <jamrial@gmail.com>
* configure: extend the check for bcryptJames Almer2018-04-161-1/+2
| | | | | | | Some old mingw-w64 builds seem to provide an incomplete implementation of the API. Add an extra check to make sure it's disabled for those. Signed-off-by: James Almer <jamrial@gmail.com>
* Bump minor versions after release/4.0 branchingMichael Niedermayer2018-04-168-8/+8
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Bump minor versions for branching release/4.0Michael Niedermayer2018-04-168-11/+11
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/APIchanges: Add 4.0 cut pointMichael Niedermayer2018-04-161-0/+2
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* doc/APIchanges: Fill in missing stuffMichael Niedermayer2018-04-161-33/+33
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/showvolume : cosmetic move bracket after func declaration to a new lineMartin Vignali2018-04-161-1/+2
|
* avfilter/showvolume : add persistent max displayMartin Vignali2018-04-162-0/+62
| | | | draw a color line for the max level in the given duration
* avfilter/showvolume : add display scale optionMartin Vignali2018-04-162-3/+29
| | | | linear (current behaviour) or log display (more close to classic audio meter)
* avfilter/af_headphone: fix type=time with hrir=multichPaul B Mahol2018-04-161-2/+2
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/hlsenc: avformat/hlsenc: add error message for encrypt fmp4 modeSteven Liu2018-04-161-1/+6
| | | | | | | and refine the warning message when use both hls_key_info_file and hls_enc Reviewed-by: Gyan Doshi <ffmpeg@gyani.pro> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* amfenc: Remove spurious initialisationsMark Thompson2018-04-151-47/+29
| | | | Also minor cosmetics.
* amfenc: Add DXVA2 hardware frame input supportAlexander Kravchenko2018-04-151-0/+79
| | | | | | | Adds support for AMF initialisation from a DXVA2 (Direct3D9) device, and then allows passing DXVA2 surfaces into an AMF encoder. Signed-off-by: Mark Thompson <sw@jkqxz.net>
* amfenc: Ensure that the software format of hardware frames is validAlexander Kravchenko2018-04-151-3/+9
| | | | Signed-off-by: Mark Thompson <sw@jkqxz.net>
* amfenc: Do not automatically download/upload unknown hardware input framesMark Thompson2018-04-151-53/+35
| | | | | | | | Supplying a hardware input frame which is not in the input hardware frames context is not allowed by the API, so additional code to handle it is not necessary. Further, handling it automatically results in very low performance - it is more appropriate to fail immediately so that the user can fix their incorrect setup.
* amfenc: Fail to open if the user-supplied device is not usableMark Thompson2018-04-151-49/+81
| | | | | | | | If the user supplies a device or frames context then it is an error not to use it; this is consistent with other hardware components. Also factorise out the D3D11 initialisation and improve error messages.
* configure: fix clang-cl detectionAlexander Bilyak2018-04-151-2/+2
| | | | | | | | | When using clang-cl it expects parameters passed in MSVC-style, so appropriate toolchain should be selected. As soon as both clang and clang-cl report themselfs as "clang" with -v option the only chance to detect clang-cl is passing -? option to both which is valid for clang-cl.exe and not for clang.exe. Reviewed-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avfilter/af_headphone: add single hrir multichannel stream modePaul B Mahol2018-04-152-54/+150
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/nvdec: correctly set intra_pic_flag for h264/hevcTimo Rothenpieler2018-04-152-2/+8
|
OpenPOWER on IntegriCloud