1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Commit Graph

891 Commits

Author SHA1 Message Date
Carl Eugen Hoyos
2279de6eca lavf/img2dec: Autodetect qdraw images. 2015-05-07 01:21:08 +02:00
Vignesh Venkatasubramanian
6fd300ac6c lavf: Add support for WebM Live Muxing
This patch adds support for WebM Live Muxing by adding a new WebM
Chunk muxer. It writes out live WebM Chunks which can be used for
playback using Live DASH Clients.

Please see muxers.texi for sample usage.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-07 15:08:59 +02:00
Donny Yang
80be7daaa8 apng: Add a basic APNG muxer
Additionally, update some documentation with support for APNG

Signed-off-by: Donny Yang <work@kota.moe>
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-02 04:52:59 +02:00
Michael Niedermayer
07ca090e81 Merge commit '4326bc364b58e97fc3d89417054a6b7610179a00'
* commit '4326bc364b58e97fc3d89417054a6b7610179a00':
  lavf: Do not list mov-only codecs in riff tags

Conflicts:
	libavformat/Makefile
	libavformat/avidec.c

See: 2e0b5f5c90
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-17 21:09:43 +01:00
Carl Eugen Hoyos
4326bc364b lavf: Do not list mov-only codecs in riff tags
Instead check for all mov code-points when demuxing avi
and print a warning if a video codec is found like this.

Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-03-17 13:34:22 +00:00
Thomas Volkert
9c09fbd805 rtpdec: experimental VP9 depacketizer (draft 0)
The code was tested with live555 server.

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-03-05 10:05:44 +02:00
Michael Niedermayer
cf95877474 Merge commit 'c82bf15dca00f67a701d126e47ea9075fc9459cb'
* commit 'c82bf15dca00f67a701d126e47ea9075fc9459cb':
  rtpenc: Merge the h264 and hevc packetizers

Conflicts:
	libavformat/rtpenc_hevc.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-24 23:30:51 +01:00
Martin Storsjö
c82bf15dca rtpenc: Merge the h264 and hevc packetizers
They share a great deal of common structure; only a few minor
bits in the headers differ.

This also fixes an off-by-one in sending of the last fragment
of large HEVC nals (where it previously sent len+2 bytes, even
if it should have been len+RTP_HEVC_HEADERS_SIZE aka len+3).

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-24 16:25:43 +02:00
Clément Bœsch
cc69ccb6d4 avformat/nutdec: fix isom and mpa build deps
Fixes the following link error:
  nutdec.c:(.text+0x2d47): undefined reference to `ff_codec_movvideo_tags'
  isom.c:(.text+0x332): undefined reference to `avpriv_mpeg4audio_get_config'
  isom.c:(.text+0x39e): undefined reference to `avpriv_mpa_freq_tab'
2015-02-24 11:22:47 +01:00
Michael Niedermayer
db4a2976f6 Merge commit 'c99915f7c74ce1249d8633cb6fd09035b8d84db7'
* commit 'c99915f7c74ce1249d8633cb6fd09035b8d84db7':
  rtpdec: DV depacketizer (RFC 6469)

Conflicts:
	Changelog
	libavformat/Makefile
	libavformat/rtpdec_dv.c
	libavformat/version.h

See: cbe508553a
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 23:54:34 +01:00
Thomas Volkert
c99915f7c7 rtpdec: DV depacketizer (RFC 6469)
(tested with live555 RTSP server)

Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-22 23:01:55 +02:00
Michael Niedermayer
1186e7cf95 Merge commit '96084251e57d1738fde02a2b0d37ca609d9efd71'
* commit '96084251e57d1738fde02a2b0d37ca609d9efd71':
  libavformat: add robust MPEG audio depacketization (RFC 5219)

Conflicts:
	Changelog
	libavformat/version.h

See: 22470510d1
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-22 01:30:17 +01:00
Gilles Chanteperdrix
96084251e5 libavformat: add robust MPEG audio depacketization (RFC 5219)
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:50 +02:00
Gilles Chanteperdrix
5e5583efe4 libavformat: add AC3 RTP depacketization (RFC 4184)
Signed-off-by: Martin Storsjö <martin@martin.st>
2015-02-21 23:37:32 +02:00
Michael Niedermayer
e821910a21 Merge commit '062cd5a975ff7bd6fb91f9b4d1d9d102a7545499'
* commit '062cd5a975ff7bd6fb91f9b4d1d9d102a7545499':
  lavf: Add DSS demuxer

Conflicts:
	libavformat/Makefile
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-19 21:44:58 +01:00
Oleksij Rempel
062cd5a975 lavf: Add DSS demuxer
Signed-off-by: Oleksij Rempel <linux@rempel-privat.de>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2015-02-19 12:05:19 -05:00
Thomas Volkert
cbe508553a avformat/rtpdec: DV depacketizer (RFC 6469)
Tested with live555 RTSP server

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 19:35:19 +01:00
Thomas Volkert
e4a6486c17 rtpdec: experimental VP9 depacketizer (draft 0)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-15 14:54:45 +01:00
Gilles Chanteperdrix
3eec775b21 avformat/rtpdec_ac3: add AC3 RTP depacketization (RFC 4184)
Signed-off-by: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
Reviewed-by: Thomas Volkert <silvo@gmx.net>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 20:13:52 +01:00
Michael Niedermayer
702cf8d0de Merge commit '6a5b8ca4329039fad44ad50b6496948f4bfacb4c'
* commit '6a5b8ca4329039fad44ad50b6496948f4bfacb4c':
  lavf: remove unused code

Conflicts:
	libavformat/seek.c
	libavformat/seek.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-11 01:43:00 +01:00
wm4
6a5b8ca432 lavf: remove unused code
Nothing uses it, and it provides no public API.

Archeological finds:

Commit 101036adb9 added the API.
Commit a8dd8dc6e9 made mpegts.c use it.
Commit af8aae3fa3 disabled it by default in mpegts.c.
Commit ae2bb52cd2 removed all uses of this from mpegts.c.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2015-02-08 21:34:05 +01:00
Carl Eugen Hoyos
afada9ac67 Fix compilation with --disable-protocol=udp 2015-02-05 10:07:03 +01:00
Michael Niedermayer
e313735d7d avformat: add dvbsub demuxer
This is needed for probing some dvbsub streams in mpegts

Fixes part of ticket4221

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-05 01:45:49 +01:00
Michael Niedermayer
7ef515cda5 Merge commit '8a70ef94b9c377293b3dfa7d92cdc81a4fe1543a'
* commit '8a70ef94b9c377293b3dfa7d92cdc81a4fe1543a':
  libavformat: Add a muxer wrapping mpegts encoding into RTP

Conflicts:
	Changelog
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-19 02:49:36 +01:00
James Almer
430a816859 oggdec: add support for VP8 demuxing
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
2014-12-18 23:27:07 +01:00
Martin Storsjö
8a70ef94b9 libavformat: Add a muxer wrapping mpegts encoding into RTP
Since this structurally is quite different from normal RTP
(multiple streams are muxed into one single mpegts stream,
which is packetized into one single RTP session), it is kept
as a separate muxer.

Since this structurally also behaves differently than normal
RTP, all of the other muxers that do chained RTP muxing
(rtsp, sap, mp4) would need to be updated similarly to handle
this - in particular, creating one single rtp_mpegts muxer
for the whole presentation instead of one rtp muxer per stream.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:12:33 +02:00
Thomas Volkert
a505c0d737 rtp: Initial H.261 support
The packetizer only supports splitting at GOB headers - if
such aren't available frequently enough, it splits at any
random byte offset (not at a macroblock boundary either, which
would be allowed by the spec) and sends a payload header pretend
that it starts with a GOB header.

As long as a receiver doesn't try to handle such cases cleverly
but just drops broken frames, this shouldn't matter too much
in practice.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-18 23:11:37 +02:00
Michael Niedermayer
6ef9d1b216 Merge commit 'fccfc22d1f304aef42a0b960e4c1d55ce67107f5'
* commit 'fccfc22d1f304aef42a0b960e4c1d55ce67107f5':
  libavformat: Build hevc.o when building the RTP muxer

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-09 21:40:09 +01:00
Martin Storsjö
fccfc22d1f libavformat: Build hevc.o when building the RTP muxer
The RTP muxer enables the actual codepaths within sdp.c,
which depend on hevc.o since e5cfc8fd.

This fixes builds with --disable-everything --enable-muxer=rtp.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-12-09 16:09:37 +02:00
Carl Eugen Hoyos
963aa1daf8 Fix standalone compilation of the iec61883 input device. 2014-12-04 01:35:47 +01:00
Benoit Fouet
5d37d70b0b avformat/apngdec: add APNG demuxer.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-21 17:13:56 +01:00
Michael Niedermayer
e60c025e73 Merge commit 'c302d034ba2690a935df8bf7e4f5d44ed86e8d5c'
* commit 'c302d034ba2690a935df8bf7e4f5d44ed86e8d5c':
  tools: Add a sidxindex tool

Conflicts:
	libavformat/Makefile

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 23:09:22 +01:00
Michael Niedermayer
b5b15c4dd9 Merge commit 'fe5e6e34c05e274f98528be4f77f3c474473f977'
* commit 'fe5e6e34c05e274f98528be4f77f3c474473f977':
  lavf: Add an MPEG-DASH ISOFF segmenting muxer

Conflicts:
	Changelog
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-17 22:13:50 +01:00
Martin Storsjö
c302d034ba tools: Add a sidxindex tool
This tool can write an MPD file for fragmented MP4 files with
a sidx index at the start of the file.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-17 16:17:07 +02:00
Martin Storsjö
fe5e6e34c0 lavf: Add an MPEG-DASH ISOFF segmenting muxer
This is mostly to serve as a reference example on how to segment
the output from the mp4 muxer, capable of writing the segment
list in four different ways:
- SegmentTemplate with SegmentTimeline
- SegmentTemplate with implicit segments
- SegmentList with individual files
- SegmentList with one single file per track, and byte ranges

The muxer is able to serve live content (with optional windowing)
or create a static segmented MPD.

In advanced cases, users will probably want to do the segmenting
in their own application code.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-17 16:17:07 +02:00
Michael Niedermayer
6d64a14e6d avformat: add webp muxer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-01 20:10:52 +01:00
Eejya Singh
6dc99fdf0e Added STL demuxer and decoder
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-10-22 23:12:38 +02:00
wm4
7dd2005e1a avformat: add SUP/PGS subtitle demuxer
Signed-off-by: Clément Bœsch <u@pkh.me>
2014-09-26 10:35:14 +02:00
Carl Eugen Hoyos
88c937fdc8 Autodetect jpg images.
Based on 2d3842f5 by Michael Niedermayer.

Fixes ticket #2541.
2014-09-26 00:06:41 +02:00
Thomas Volkert
ddf5fb71ee rtpenc: HEVC/H.265 support
Signed-off-by: Martin Storsjö <martin@martin.st>
2014-09-24 23:33:26 +03:00
Thomas Volkert
6821a5a4ad rtpenc: HEVC/H.265 support
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-21 12:49:08 +02:00
Thomas Volkert
95e177eeb2 rtpdec: HEVC/H.265 support
As specified in draft-ietf-payload-rtp-h265-06.

Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2014-09-03 02:39:24 +02:00
ThomasVolkert
96b2ba68c4 avformat/rtpdec: support for HEVC/H.265 RTP payload format (draft v6) depacketizing 2014-08-26 02:18:08 +02:00
ThomasVolkert
50a4d5cfc6 Add support for H.261 RTP payload format (RFC 4587) 2014-08-24 03:53:30 +02:00
Carl Eugen Hoyos
4b63bcef90 Autodetect jpeg-ls files. 2014-08-08 22:43:15 +02:00
Carl Eugen Hoyos
f73d75384f Autodetect webp files. 2014-08-08 16:14:18 +02:00
ePirat
e3dc2c86fc libavformat: Add Icecast protocol
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-04 13:33:44 +02:00
Marvin Scholz
eb9244f202 Add Icecast protocol
Icecast is basically a convenience wrapper around the HTTP protocol.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-08-04 12:56:42 +03:00
Carl Eugen Hoyos
63c0b41904 Fix standalone compilation of the adts muxer. 2014-07-28 23:25:54 +02:00
Vignesh Venkatasubramanian
3e73d14290 lavf: Add WebM DASH Manifest Muxer
This patch adds the ability to generate WebM DASH manifest XML using
ffmpeg. A sample command line would be as follows:

ffmpeg \
  -f webm_dash_manifest -i video1.webm \
  -f webm_dash_manifest -i video2.webm \
  -f webm_dash_manifest -i audio1.webm \
  -f webm_dash_manifest -i audio2.webm \
  -map 0 -map 1 -map 2 -map 3 \
  -c copy \
  -f webm_dash_manifest \
  -adaptation_sets “id=0,streams=0,1 id=1,streams=2,3” \
  manifest.xml

It works by exporting necessary fields as metadata tags in matroskadec
and use those values to write the appropriate XML fields as per the WebM
DASH Specification [1]. Some ideas are adopted from webm-tools project
[2].

[1]
https://sites.google.com/a/webmproject.org/wiki/adaptive-streaming/webm-dash-specification
[2]
https://chromium.googlesource.com/webm/webm-tools/+/master/webm_dash_manifest/

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-15 23:58:36 +02:00