Commit Graph

92 Commits

Author SHA1 Message Date
Mans Rullgard 2c30f7b3d7 mpegtsenc: fix PMT PID calculation
445996aa51 caused the PMT PID to be
off by one.  This corrects it.

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 740ad0d14d)
2011-01-31 18:25:48 +01:00
Georgi Chorbadzhiyski a735bbbb7a Replace defines in libavformat/mpegtsenc.c with AVOptions
Around 01/28/11 18:56, Ronald S. Bultje scribbled:
> That patch is now merged, can you submit the update to muxers.texi?
> Then we'll apply the whole thing.

See attached. I hope the documentation is enough.

--
Georgi Chorbadzhiyski
http://georgi.unixsol.org/

From c236024b8254f5c2c45934c30fff390cb0e55a5e Mon Sep 17 00:00:00 2001
From: Georgi Chorbadzhiyski <gf@unixsol.org>
Date: Tue, 25 Jan 2011 13:09:17 +0200
Subject: [PATCH] mpegts: Replace defines in with AVOptions

This patch adds support for setting transport_stream_id,
original_network_id, service_id, pmt_start_pid and start_pid
in mpegts muxer.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
(cherry picked from commit 445996aa51)
2011-01-31 18:25:47 +01:00
Peter Ross 59884f55d1 mpegtsenc: support CODEC_ID_AAC_LATM
$subject. Have used this for loopback testing with mpegts.c.

-- Peter
(A907 E02F A6E5 0CD2 34CD 20D2 6760 79C5 AC40 DD6B)
[2. text/x-diff; 0001-mpegtsenc-support-CODEC_ID_AAC_LATM.patch]

From 0f7f9db4b7da1793996af6dda84298507703759a Mon Sep 17 00:00:00 2001
From: Peter Ross <pross@xvid.org>
Date: Sun, 9 Jan 2011 09:45:50 +1100
Subject: [PATCH] mpegtsenc: support CODEC_ID_AAC_LATM

Signed-off-by: Mans Rullgard <mans@mansr.com>
(cherry picked from commit 4d54df8e07)
2011-01-30 03:41:00 +01:00
Georgi Chorbadzhiyski 753134ae3e In mpegts "reserved_future_use" field must be set to 1 in SDT table
According to EN 300 468 section 3.1 (Definitions):

   Unless otherwise specified within the present document all
   "reserved_future_use" bits is set to "1".

This was not the case for SDT generation so this patch fixes it.

Signed-off-by: Janne Grunau <janne-ffmpeg@jannau.net>
(cherry picked from commit a7827a17c6)
2011-01-30 03:40:59 +01:00
Diego Elio Pettenò 66355be3c3 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.
(cherry picked from commit c6610a216e)
2011-01-28 03:15:34 +01:00
Georgi Chorbadzhiyski 4c9bfe3e4e 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>
(cherry picked from commit 535638b55f)
2011-01-28 03:15:32 +01:00
Georgi Chorbadzhiyski 4fee6f32e2 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>
(cherry picked from commit 6e78c8ee94)
2011-01-26 03:43:30 +01:00
Janne Grunau 236bb68d76 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>
(cherry picked from commit e5fe65512b)
2011-01-21 20:36:00 +01:00
Georgi Chorbadzhiyski 7916202b97 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>
(cherry picked from commit 69688e71bc)
2011-01-21 20:35:46 +01: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