summaryrefslogtreecommitdiffstats
path: root/libavformat
Commit message (Collapse)AuthorAgeFilesLines
* avformat/segafilmenc - set keyframe bit correctlyGyan Doshi2018-05-082-2/+2
| | | | | | | | As per https://web.archive.org/web/20020803104640/http://www.pcisys.net:80/~melanson/codecs/film-format.txt, the top bit of the info1 chunk is set as 1 for inter-coded frames and 0 otherwise.
* lavf/bluray: translate a read of 0 to EOFJan Ekström2018-05-061-1/+1
| | | | | | | Yet another case of forgotten 0 =! EOF translation. The libbluray documentation specifically mentions that a read of 0 is EOF. Reported by Fyr on IRC.
* lavf/format: Remove the dead code in av_probe_input_buffer2.Jun Zhao2018-05-061-8/+0
| | | | | | Remove the dead code in av_probe_input_buffer2 Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* avformat/avio: make the logic simpleJun Zhao2018-05-061-3/+2
| | | | | | remove the "ret" to make the code simple and generic. Signed-off-by: Jun Zhao <mypopydev@gmail.com>
* swscale: add gray14 supportPaul B Mahol2018-05-051-0/+3
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat: add vapoursynth wrapperwm42018-05-044-1/+499
| | | | | | | | | | | | | This can "demux" .vpy files. Autodetection of .vpy scripts is intentionally not done, because it would be a major security issue. You need to force the format, for example with "-f vapoursynth" for the FFmpeg CLI tools. Some minor code copied from other LGPL parts of FFmpeg. I did not find a good way to test a few of the more obscure VS features, like VFR nodes, compat pixel formats, or nodes with dynamic size/format changes. These can be easily implemented on demand.
* avformat/hls: don't propagate deprecated "user-agent" AVOptionwm42018-05-041-1/+1
| | | | | | | | | This code will print a warning if any user agent is set - even if the API user used the proper non-deprecated "user_agent" option. This change should not even break anything, because even if the user sets the deprecated "user-agent" option, http.c copies it to the "user_agent" option anyway.
* avformat/matroskaenc: do not write timebase as frameratewm42018-05-041-2/+0
| | | | | | | | | | | | | If the API user doesn't set avg_frame_rate, matroskaenc will write the current timebase as "default duration" for the video track. This makes no sense, because the "default duration" implies the framerate of the video. Since the timebase is forced to 1/1000, this will make the resulting file claim 1000fps. Drop it and don't write the element. It's optional, so it's better not to write it if the framerate is unknown. Strangely does not require FATE changes.
* avformat/yuv4mpegdec: simplify mathPaul B Mahol2018-05-031-6/+3
| | | | | | This one actually works with hd1080 y4m files when seeking backwards. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* lavf/dashenc: pass standards compliance value to the internal contextJan Ekström2018-05-031-4/+5
| | | | | | | | Enables one to test possibly nonstandard formats such as Opus or FLAC in ISOBMFF, among other things. This becomes much more useful if output segment format becomes an option, or if the WebM segment feature gets removed.
* lavf/dashenc: require experimental mode to be enabled for WebMJan Ekström2018-05-031-0/+10
| | | | | | | It has not ever been working and has not been validated, Additionally, mention that the segment file names should be changed to end with webm instead of m4s, which is utilized for ISOBMFF fragments.
* lavf/dashenc: don't call flush_init_segment before avformat_write_headerRodger Combs2018-05-031-7/+7
| | | | Fixes crash when muxing MKV-in-DASH
* avformat/qtpalette: parse color table according to the QuickTime file format ↵Marton Balint2018-04-301-6/+6
| | | | | | | | | | | specs The specs says that the the first color component in the color array is not alpha, but simply 0. Fixes 0 alpha of fate-suite/cvid/catfight-cvid-pal8-partial.mov Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/m4vdec: Use the same constant names as libavcodecMichael Niedermayer2018-04-301-4/+7
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/m4vdec: Fix detection of raw MPEG-4 ES StudioMichael Niedermayer2018-04-301-0/+11
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mpegts: set AV_DISPOSITION_DESCRIPTIONS for OIPF casesŁukasz Krzciuk2018-04-271-0/+30
| | | | | | | | | | | | 1. an audio component with an ISO_639_language_descriptor in the PMT with the audio_type field set to 0x03 2. a supplementary_audio_descriptor with the editorial_classification field set to 0x01 3. an ac-3_descriptor or an enhanced_ac-3_descriptor with a component_type field with the service_type flags set to Visually Impaired Tested-by: Łukasz Krzciuk <lkrzciuk@vewd.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf/http: use AV_OPT_FLAG_DEPRECATED for user-agent optionClément Bœsch2018-04-261-2/+1
|
* mov: Properly abide by the track's media durationDerek Buitenhuis2018-04-261-3/+3
| | | | | | | | | | | | | | | | | The track's media duration from the mdhd atom takes precedence over both the stts and elst atom for calculating and setting the track's total duraion. Technically, we shouldn't be using the stts atom at all for calculating stream durations. This fixes incorrect stream and final packet durations on files with edit lists that are longer than the media duration. The FATE changes are expected, and output is more correct (the AAC frame is not 1028 samples). Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* lavf/rtmpcrypt: Add a cast to silence an unavoidable warning.Carl Eugen Hoyos2018-04-261-1/+1
| | | | | | | | | The av_rc4_crypt() documentation allows src == dst. Silences the following warning: libavformat/rtmpcrypt.c:304:36: warning: passing argument 2 of 'av_rc4_crypt' discards 'const' qualifier from pointer target type Reported-by: Reino Wijnsma
* avformat/dashenc: Set mp4 as the default format for VP9Karthick Jeyapal2018-04-261-2/+1
| | | | | | There is a separate muxer(webmdashenc.c) for supporting VP9+webm output in DASH. Hence in this muxer we will focus on supporting VP9 in MP4 Have verified playout support of VP9+MP4 in Chrome and Firefox.
* avformat/dashenc: Set VP9 codec string with profile, level and bitdepthKarthick Jeyapal2018-04-261-6/+28
| | | | Otherwise some versions of chrome browser returns "codec not supported" error
* avformat/vpcc: Calculate VP9 level from Luma's Sample rate and Picture sizeKarthick Jeyapal2018-04-262-4/+51
|
* avformat/dashdec: fix compling warning "filename is deprecated"Steven Liu2018-04-261-3/+3
| | | | Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* fix memory leak of parsing dash MPDguikunzhi2018-04-261-3/+11
| | | | Signed-off-by: guikunzhi <guikunzhi@163.com>
* avformat/yuv4mpegdec: fix seeking backwardsPaul B Mahol2018-04-251-1/+10
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* Revert "libavformat: add mbedTLS based TLS"Rostislav Pehlivanov2018-04-235-413/+1
| | | | | This reverts commit 62f5c9d68bf6e0f2c1a47cf002629a70a82274fc, which was pushed a bit prematurely.
* libavformat: add mbedTLS based TLSThomas Volkert2018-04-235-1/+413
|
* lavf/os_support: Only compile inet_aton() if getaddrinfo() is needed.Carl Eugen Hoyos2018-04-231-1/+1
| | | | | | | Silences a warning: libavformat/os_support.c:49:12: warning: 'inet_aton' defined but not used Reported-by: Reino Wijnsma
* avformat/vpcc: add ff_isom_get_vpcc_features()James Almer2018-04-222-5/+35
| | | | | | | Should be useful for muxers that require values as defined in the vpcc atom but don't need to write the atom itself. Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/dsfdec: fix calculation of size of data chunkPaul B Mahol2018-04-221-2/+2
| | | | | | Ignore extra 12 bytes that belong to tag and size. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/dsfdec: properly handle padded last packetPaul B Mahol2018-04-221-2/+34
| | | | | | Fixes #5489. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avformat/segafilm - revert keyframe detectionGyan Doshi2018-04-221-1/+1
| | | | | | | | | | | | | Keyframe detection was inverted in cfe1a9d311 in order to fix keyframe flags set for the sample attached to trac #7091. However, that sample is errantly muxed. As noted at https://web.archive.org/web/20020803104640/http://www.pcisys.net:80/~melanson/codecs/film-format.txt, the original keyframe detection logic is correct, and this patch restores it. Signed-off-by: James Almer <jamrial@gmail.com>
* lavf/dashdec: Do not use memcpy() to copy a struct.Carl Eugen Hoyos2018-04-211-1/+1
| | | | | Fixes a warning: libavformat/dashdec.c:1900:65: warning: argument to 'sizeof' in 'memcpy' call is the same pointer type 'struct fragment *' as the destination; expected 'struct fragment' or an explicit length
* avformat/mov: Fix parsing of saio/siaz atoms in encrypted content.Jacob Trimble2018-04-212-0/+243
| | | | | | | This doesn't support saio atoms with more than one offset. Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/utils: refactor upstream_stream_timingsAman Gupta2018-04-201-11/+10
| | | | | Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/utils: ignore outlier durations on subtitle/data streams as wellAman Gupta2018-04-201-2/+12
| | | | | | | | | Similar to 4c9c4fe8b21, but for durations. This fixes #7151, where the report duration and bitrate on a mpegts stream is wildly off due to the dvb_teletext stream's timings. Signed-off-by: Aman Gupta <aman@tmm1.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/http: flushing tcp receive buffer when it is write only modeVishwanath Dixit2018-04-201-0/+12
| | | | | | | | | | | In write only mode, the TCP receive buffer's data keeps growing with http response messages and the buffer eventually becomes full. This results in zero tcp window size, which in turn causes unwanted issues, like, terminated tcp connection. The issue is apparent when http persistent connection is enabled in hls/dash live streaming use cases. To overcome this issue, the logic here reads the buffer data when a file transfer is completed, so that any accumulated data in the recieve buffer gets flushed out.
* avformat/dashenc: change the hls version from 6 to 7Steven Liu2018-04-201-1/+1
| | | | | | | | reference hls support fmp4 file from draft-pantos-http-live-streaming-20 the spec describes version 7 of hls protocol Suggested-by: Ronak <ronak2121@yahoo.com> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* lavf/http.c: Free allocated client URLContext in case of error.Stephan Holljes2018-04-201-0/+4
| | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* libavformat/http: Refactor and fix additional leaks in get_cookies.Richard Shaffer2018-04-191-37/+28
| | | | | | | | | | This refactors get_cookies to simplify some code paths, specifically for skipping logic in the while loop or exiting it. It also simplifies the logic for appending additional values to *cookies by replacing strlen/malloc/snprintf with one call av_asnprintf. This refactor fixes a bug where the cookie_params AVDictionary would get leaked if we failed to allocate a new buffer for writing to *cookies.
* avformat/mov: Remove old encryption info methods.Jacob Trimble2018-04-192-101/+0
| | | | | Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mov: Fix memory leak in encryption info.Jacob Trimble2018-04-191-0/+1
| | | | | Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/tls_schannel: fix handling of EOF after avio changesHendrik Leppkes2018-04-191-4/+6
|
* avformat/mov: Increase support for common encryption.Jacob Trimble2018-04-192-81/+327
| | | | | | | | | | | | | | | | | | - Parse schm atom to get different encryption schemes. - Allow senc atom to appear in track fragments. - Allow 16-byte IVs. - Allow constant IVs (specified in tenc). - Allow only tenc to specify encryption (i.e. no senc/saiz/saio). - Use sample descriptor to detect clear fragments. This doesn't support: - Different sample descriptor holding different encryption info. - Only first sample descriptor can be encrypted. - Encrypted sample groups (i.e. seig). - Non-'cenc' encryption scheme when using -decryption_key. Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf/tcp.c: Free allocated client URLContext in case of error.Stephan Holljes2018-04-191-1/+3
| | | | | Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* 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>
* 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>
* avformat/dashenc: addition of segment index correction logicVishwanath Dixit2018-04-171-5/+26
| | | | | | | | | | | | | | 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
|
OpenPOWER on IntegriCloud