Commit Graph

138 Commits

Author SHA1 Message Date
Diego Elio Pettenò
c6610a216e Prefix all _demuxer, _muxer, _protocol from libavformat and libavdevice.
This also lists the objects from those two libraries as internal (by adding
the ff_ prefix) so that they can then be hidden via linker scripts.
2011-01-26 22:10:09 +00:00
Georgi Chorbadzhiyski
535638b55f mpegtsenc: set reserved bits to 1 in PCR field
The reserved bits between PCR base and extension fields must be
set to 1.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-26 00:02:42 +00:00
Georgi Chorbadzhiyski
6e78c8ee94 mpegtsenc: remove unused variables
Remove two variables that were not used and caused the following
warnings:

CC      libavformat/mpegtsenc.o
libavformat/mpegtsenc.c: In function 'mpegts_write_section':
libavformat/mpegtsenc.c:72:18: warning: unused variable 'ts'
libavformat/mpegtsenc.c: In function 'mpegts_insert_null_packet':
libavformat/mpegtsenc.c:586:18: warning: unused variable 'ts'

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-25 12:52:45 +00:00
Janne Grunau
e5fe65512b mpegtsenc: prefer metadata keyed with "service_name"
title metadata is only used as fallback if no service_name is available.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
2011-01-20 15:28:32 +01:00
Georgi Chorbadzhiyski
69688e71bc Add service_provider and service_name metadata
This patch adds support in mpegts muxer for using service_provider and
service_name metadata to set service_provider_name and service_name
fields in SDT.

Example usage:
   ffmpeg -i file.ts -f mpegts -re -acodec copy -vcodec copy -f mpegts \
       -metadata service_provider="Some provider" \
       -metadata service_name="Some Channel" \
       "udp://239.0.70.2:5000?pkt_size=1316&ttl=1"

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-01-20 11:31:20 +00:00
Tomas Härdin
66be80d610 mpegtsenc: Improve PCR generation and output
This fixes PCR drift due to accumulating TS_PACKET_SIZE*8*90000LL/ts->mux_rate each packet, due to rounding errors when mux_rate does not evenly divide 135360000.
This patch also increases the PCR precision to 27 MHz from 90 kHz and takes the location of the PCR data into account (+11 bytes according to the spec).

Originally committed as revision 25864 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-12-03 13:26:42 +00:00
Tomas Härdin
1620939022 mpegtsenc: Indent
Originally committed as revision 25222 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 12:27:26 +00:00
Tomas Härdin
d1ac03517e mpegtsenc: Write subtitle extradata if set
Originally committed as revision 25221 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-09-27 12:27:23 +00:00
Baptiste Coudurier
ef011e6d58 In mpegts muxer, fix rbsp trailing bits in AUD nal, fixes issue #2122
Originally committed as revision 24449 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-23 00:27:17 +00:00
Måns Rullgård
8fc0162ac4 Add av_ prefix to bswap macros
Originally committed as revision 24170 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-10 22:12:30 +00:00
Baptiste Coudurier
efdccce500 In mpegts muxer, print VBR instead of dummy 1 when displaying muxrate
Originally committed as revision 24125 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-08 22:01:31 +00:00
Måns Rullgård
ea59f489b0 mpegtsenc: allocate correct size for PID table
Originally committed as revision 23951 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-01 23:21:23 +00:00
Mike Scheutzow
5fd4857354 Allow setting streamid when muxing mpegts.
Patch by Mike Scheutzow, scheutzow alcatel-lucent com

Originally committed as revision 23918 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-06-30 22:39:13 +00:00
Stefano Sabatini
9a2cb05ff9 Move the internal function declarations in avformat.h to internal.h.
Originally committed as revision 22843 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-11 21:44:23 +00:00
Stefano Sabatini
2874c81cc8 Replace all remaining occurrences of AVERROR_NOMEM with
AVERROR(ENOMEM).

AVERROR_NOMEM is deprecated and will be dropped at the next libavutil
major bump.

Originally committed as revision 22791 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-03 14:15:00 +00:00
Stefano Sabatini
72415b2adb Define AVMediaType enum, and use it instead of enum CodecType, which
is deprecated and will be dropped at the next major bump.

Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-30 23:30:55 +00:00
Baptiste Coudurier
83c2bc7abb In mpegts muxer, free adts context and temporary data
Originally committed as revision 22428 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 09:20:32 +00:00
Baptiste Coudurier
e3433702ae reindent
Originally committed as revision 22427 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-10 09:19:14 +00:00
Baptiste Coudurier
8fdd542ce4 In mpegts muxer, write adts header if aac bitstream does not contain it
Originally committed as revision 22355 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-09 00:18:49 +00:00
Baptiste Coudurier
e17d77bb67 In mpegts muxer, search for h264 aud nal, it might not be the first nal.
Improve ther error message when bitstream is malformated and tell user to use
the bitstream filter.

Originally committed as revision 22354 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 23:59:05 +00:00
Baptiste Coudurier
7082ea56c8 mpegts vbr muxing, activated when muxing rate is not supplied by the
user.

Originally committed as revision 22352 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 23:46:19 +00:00
Baptiste Coudurier
677a1144b0 Start continuity counter at 0 for pmt as well
Originally committed as revision 22350 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 22:44:03 +00:00
Baptiste Coudurier
d73a458f27 Start continuity counter at 0 for streams
Originally committed as revision 22344 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 20:59:00 +00:00
Baptiste Coudurier
9169174fd6 10l typo, fix ts total bit rate computation
Originally committed as revision 22343 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-08 20:57:42 +00:00
Yann Coupin
8d819221db Correctly increment continuity_counter in PCR packets.
Patch by Yann Coupin, yann.coupin+ffmpeg gmail

Originally committed as revision 22020 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-24 10:56:13 +00:00
Baptiste Coudurier
a1f42882e1 revert wrongly commited hunk in r21205
Originally committed as revision 21207 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 22:57:37 +00:00
Baptiste Coudurier
dcc2220ab5 remove useless declarations from mpegts.h
Originally committed as revision 21205 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 22:50:26 +00:00
Baptiste Coudurier
33931016e5 use codec rc_max_rate if set and warn if bit rate is not set
Originally committed as revision 21204 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 22:23:29 +00:00
Baptiste Coudurier
01d6bd525a Do not split audio frames accross pes packets.
This was not supported by some equipment and cisco analyzer.

Originally committed as revision 21203 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 22:21:45 +00:00
Mike Scheutzow
907d916627 print more debug info about muxing parameters, patch by Mike Scheutzow, scheutzow at alcatel-lucent dot com
Originally committed as revision 21201 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 21:42:55 +00:00
Mike Scheutzow
c054f372e0 update mpegts_write_pes documentation, patch by Mike Scheutzow, scheutzow at alcatel-lucent dot com
Originally committed as revision 21200 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 21:40:37 +00:00
Mike Scheutzow
4df3bbbc68 Insert null packets to keep pcr values correct, patch by Mike Scheutzow,
scheutzow at alcatel-lucent dot com and Niobos, niobos at dest-unreach dot be.

Originally committed as revision 21199 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 20:44:56 +00:00
Mike Scheutzow
49f6fd8f3f move pcr/sdt/pat period computation after ts->mux_rate is set, patch by Mike Scheutzow, scheutzow at alcatel-lucent dot com
Originally committed as revision 21198 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 20:30:55 +00:00
Mike Scheutzow
6b18a3f5ba output a pcr as soon as possible, patch by Mike Scheutzow, scheutzow at alcatel-lucent dot com
Originally committed as revision 21197 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 20:26:59 +00:00
Niobos
906c16a11a fix ts packet header size computation, patch by Niobos, niobos at dest-unreach dot be
Originally committed as revision 21196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 20:20:05 +00:00
Niobos
080cabffca fix sdt, pat, pcr size computation, patch by Niobos, niobos at dest-unreach dot be
Originally committed as revision 21195 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-13 20:14:53 +00:00
Baptiste Coudurier
807e4e81a8 mux all stream types except audio as one pes packet per avpacket, issue #1374
Originally committed as revision 20292 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-18 21:41:03 +00:00
Niobos
9deba199fd fix pes overhead computation, patch by Niobos, niobos at dest-unreach dot be
Originally committed as revision 19902 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-09-17 19:07:09 +00:00
Niobos
1aae34890c rename freq to period which is more correct, patch by Niobos, niobos dot be at gmail dot com
Originally committed as revision 19529 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-28 17:51:12 +00:00
Baptiste Coudurier
84df78b476 simplify pes timestamps fetching, based on a patch by corp186, chasedouglas at gmail dot com
Originally committed as revision 18910 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 06:25:44 +00:00
corp186
c69d224102 compute total bitrate more accurately, patch by corp186, chasedouglas at gmail dot com
Originally committed as revision 18909 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-23 06:09:16 +00:00
Baptiste Coudurier
24ac50525a move free data in the video case
Originally committed as revision 18793 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 02:36:57 +00:00
Baptiste Coudurier
e4358e70f8 write a single pes for video frames, some proprietary player needs it
Originally committed as revision 18792 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-11 02:30:29 +00:00
Baptiste Coudurier
b69017af87 ensure first pts is set, according to specs
Originally committed as revision 18781 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 01:57:21 +00:00
Baptiste Coudurier
1e8857882b remove useless max_payload_size variable
Originally committed as revision 18780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 01:41:35 +00:00
Baptiste Coudurier
8f14cdee73 do not write dts if pts is not set
Originally committed as revision 18779 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 01:37:58 +00:00
Baptiste Coudurier
31df40a130 fix total bitrate computation, based on patch by corp186, chasedouglas at gmail dot com
Originally committed as revision 18778 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-10 01:02:18 +00:00
Aurelien Jacobs
4b358c3e60 use new metadata API in mpegts muxer
Originally committed as revision 17406 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-18 00:00:38 +00:00
Diego Biurrun
406792e7b0 cosmetics: Remove pointless period after copyright statement non-sentences.
Originally committed as revision 16684 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 15:46:40 +00:00
Baptiste Coudurier
f3ba7c5468 use delay for subs and dirac too
Originally committed as revision 16614 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 01:47:24 +00:00
Baptiste Coudurier
a57fb91ce5 add aud nal unit if not present in h264 bitstream
Originally committed as revision 16613 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-15 01:22:31 +00:00
Baptiste Coudurier
89ac55ada9 consider other codecs packets contain only one access unit, not just audio
Originally committed as revision 16611 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 23:53:31 +00:00
Baptiste Coudurier
3d0a94f699 calculate pat, pmt and sdt exact size and adjust total bitrate
Originally committed as revision 16610 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 23:49:13 +00:00
Baptiste Coudurier
620b9df7a7 allow user to specify muxrate
Originally committed as revision 16609 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 23:30:49 +00:00
Baptiste Coudurier
811a0aa785 warn if dts < pcr which means TS is invalid
Originally committed as revision 16607 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 22:40:37 +00:00
Baptiste Coudurier
5541759f6f only write dts if they differ from pts, according to specs
Originally committed as revision 16605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 22:17:07 +00:00
Baptiste Coudurier
46911c7ab8 use delay to avoid negative dts
Originally committed as revision 16604 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 22:14:35 +00:00
Baptiste Coudurier
de34dc39c0 set pts and dts of pes packets exactly according to specs
Originally committed as revision 16603 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 21:57:10 +00:00
Baptiste Coudurier
b5931348bc compute pcr more accurately, regression tests need update
Originally committed as revision 16596 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-14 02:20:26 +00:00
Diego Biurrun
6a5d31ac25 Fix build: Add intreadwrite.h and bswap.h #includes where necessary.
Originally committed as revision 16556 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-11 22:19:48 +00:00
Anuradha Suraparaju
67a38cee37 Change Dirac in MPEG-TS encapsulation to conform with spec changes.
patch by Anuradha Suraparaju, anuradha rd.bbc.co uk

Originally committed as revision 14753 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-14 11:17:23 +00:00
Anuradha Suraparaju
f4bba2015a Dirac encapsulation in MPEG-TS
patch by Anuradha Suraparaju, anuradha rd.bbc.co uk

Originally committed as revision 14734 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-08-13 19:29:35 +00:00
Stefano Sabatini
bde15e74de Make long_names in lavf/lavdev optional depending on CONFIG_SMALL.
patch by Stefano Sabatini, stefano.sabatini-lala poste.it
along with some spelling/consistency fixes for the long names by me

Originally committed as revision 13649 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 16:20:54 +00:00
Baptiste Coudurier
d3ad044ad5 add pretty common .m2t as ts extension
Originally committed as revision 13642 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 00:55:05 +00:00
Baptiste Coudurier
3654a16dc9 fix continuity counter to start at 0
Originally committed as revision 13641 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-06-03 00:53:33 +00:00
Diego Biurrun
245976da2a Use full path for #includes from another directory.
Originally committed as revision 13098 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-05-09 11:56:36 +00:00
Aurelien Jacobs
3abe5fbdc4 improve CRC API
- don't export any global var
 - provide either generated or hardcoded tables

Originally committed as revision 11409 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-01-04 23:09:58 +00:00
Björn Axelsson
899681cd1d Use dynamically allocated ByteIOContext in AVFormatContext
patch by: Björn Axelsson, bjorn d axelsson a intinor d se
thread: [PATCH] Remove static ByteIOContexts, 06 nov 2007

Originally committed as revision 11071 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-11-21 07:41:00 +00:00
Måns Rullgård
700b971156 write DTS, based on patch by Luca Abeni, lucabe72 email it
Originally committed as revision 8196 to svn://svn.ffmpeg.org/ffmpeg/trunk
2007-03-02 21:47:24 +00:00
Aurelien Jacobs
7fbde3431a replace coder/decoder file description in libavformat by muxer/demuxer
Originally committed as revision 6774 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-23 08:57:54 +00:00
Diego Biurrun
b78e7197a8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
and fix GPL/LGPL version mismatches.

Originally committed as revision 6577 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-10-07 15:30:46 +00:00
Måns Rullgård
ff70e60176 allow individual selection of muxers and demuxers
Originally committed as revision 5707 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-10 21:14:37 +00:00
Måns Rullgård
d2a067d1d9 give AVInput/OutputFormat structs consistent names
Originally committed as revision 5697 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-07-09 23:40:53 +00:00
Stefan Huehner
7b49ce2e34 Add const to (mostly) char* and make some functions static, which aren't used
outside their declaring source file and which have no corresponding prototype.
patch by Stefan Huehner stefan^^@^^huehner^^.^^org

Originally committed as revision 5497 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-06-18 11:33:14 +00:00
Michael Niedermayer
43a80ccee5 generic crc calculation code
Originally committed as revision 5115 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-03-06 14:13:01 +00:00
Gildas Bazin
6d276a9e91 Properly #ifdef muxer-specific parts.
Taken from a patch by Gildas Bazin < gbazin -- @@ -- altern -- . -- org >

Originally committed as revision 4869 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-19 22:30:37 +00:00
Diego Biurrun
5509bffa88 Update licensing information: The FSF changed postal address.
Originally committed as revision 4842 to svn://svn.ffmpeg.org/ffmpeg/trunk
2006-01-12 22:43:26 +00:00
Diego Biurrun
bb270c0896 COSMETICS: tabs --> spaces, some prettyprinting
Originally committed as revision 4764 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-22 01:10:11 +00:00
Diego Biurrun
115329f160 COSMETICS: Remove all trailing whitespace.
Originally committed as revision 4749 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-12-17 18:14:38 +00:00
Michael Niedermayer
01f4895c68 changing AVCodecContext codec -> *codec in AVStream so additions to AVCodecContext dont randomize AVStream and break binary compatibility
Originally committed as revision 4453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-07-17 22:24:36 +00:00
Fabrice Bellard
8b475508d4 buggy PCR output (just to keep HW decoders happy) - audio and subtitle language support - 'title' stream field sets the service name - fixed TS packet stuffing code - support for subtitle PES packets
Originally committed as revision 4349 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-06-03 14:05:41 +00:00
Måns Rullgård
0044a8f80d double free patch by (Måns Rullgård <mru inprovide com>)
"This free is handled in av_write_trailer() since Oct 1 2004, but apparently mpegts was missed at the time."

Originally committed as revision 4023 to svn://svn.ffmpeg.org/ffmpeg/trunk
2005-03-09 02:12:44 +00:00
Michael Niedermayer
e928649b0b pass AVPacket into av_write_frame()
fixes the random dts/pts during encoding
asf preroll fix
no more initial zero frames for b frame encoding
mpeg-es dts during demuxing fixed
.ffm timestamp scale fixed, ffm is still broken though

Originally committed as revision 3168 to svn://svn.ffmpeg.org/ffmpeg/trunk
2004-05-29 02:06:32 +00:00
Måns Rullgård
278de4755d support more codecs in MPEG-TS patch by (mru at kth dot se (Måns Rullgård))
Originally committed as revision 2511 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-11-12 21:56:57 +00:00
Fabrice Bellard
69ef9450d8 generate correct PTS in transport stream - use mpeg2 encoder by default
Originally committed as revision 2282 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-16 12:56:42 +00:00
Fabrice Bellard
490579042a 64 bit pts for writing - more const usage
Originally committed as revision 2255 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-09-10 22:37:33 +00:00
Michael Niedermayer
ce34182dd7 try to filter _all_ PATs if no SDT could be found patch by (<gbazin at altern dot org>)
+ mpegtsenc.c compile fix by me

Originally committed as revision 1995 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-28 23:44:09 +00:00
Fabrice Bellard
5dbafeb7ba mpeg ts demux uses DVB SI info and generates correct PTS info - added prototype mpeg ts mux
Originally committed as revision 1956 to svn://svn.ffmpeg.org/ffmpeg/trunk
2003-06-13 14:28:45 +00:00