1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-11-26 19:01:44 +02:00
Commit Graph

75 Commits

Author SHA1 Message Date
Michael Niedermayer
0bd42ae72c Merge remote-tracking branch 'qatar/master'
* qatar/master:
  avformat: Avoid a warning about mixed declarations and code
  BMV demuxer and decoder
  matroskaenc: Make sure the seekhead struct is freed even on seek failure
  mpeg12enc: Remove write-only variables.
  mpeg12enc: Don't set up run-level info for level 0.
  msmpeg4: Don't set up run-level info for level 0.
  avformat: Warn about using network functions without calling avformat_network_init
  avformat: Revise wording
  rdt: Set AVFMT_NOFILE on ff_rdt_demuxer
  rdt: Check the return value of avformat_open
  rtsp: Discard the dynamic handler, if it has an alloc function which failed
  dsputil: use cpuflags in x86 versions of vector_clip_int32()

Conflicts:
	libavcodec/avcodec.h
	libavcodec/version.h
	libavformat/Makefile
	libavformat/allformats.c
	libavformat/version.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-11-08 02:03:14 +01:00
Martin Storsjö
ed307e2659 rdt: Check the return value of avformat_open
If it failed, return NULL. This avoids trying to use an
half-initialized RDTDemuxContext.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-11-07 11:23:57 +02:00
Michael Niedermayer
d0492578c8 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  presets: rename presets directory
  lavc: make avcodec_get_context_defaults3 "officially" public
  lavf: replace av_new_stream->avformat_new_stream part II.
  lavf,lavd: replace av_new_stream->avformat_new_stream part I.
  lavf: add avformat_new_stream as a replacement for av_new_stream.
  Use correct scaling table for bwd-pred MVs in second B-field
  Ut Video decoder
  Makefile: change presets extension to .avpreset
  lavfi: add rgbtestsrc source, ported from MPlayer libmpcodecs
  lavfi: add testsrc source
  AVOptions: add documentation.
  presets: update libx264 ffpresets

Conflicts:
	Changelog
	doc/APIchanges
	doc/ffmpeg.texi
	ffpresets/libx264-ipod320.ffpreset
	ffpresets/libx264-ipod640.ffpreset
	ffserver.c
	libavcodec/avcodec.h
	libavcodec/options.c
	libavcodec/version.h
	libavdevice/libdc1394.c
	libavfilter/avfilter.h
	libavfilter/vsrc_testsrc.c
	libavformat/flvdec.c
	libavformat/riff.c
	libavformat/version.h
	libavformat/wtv.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-10-20 02:34:51 +02:00
Anton Khirnov
84ad31ff18 lavf: replace av_new_stream->avformat_new_stream part II.
Manual replacements are done in this commit.

In many cases, the id is some constant made up number (e.g. 0 for video
and 1 for audio), which is then not used in the demuxer for anything.
Those ids are removed.
2011-10-19 17:02:11 +02:00
Michael Niedermayer
2905e3ff64 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  lavc: add opt_find to AVCodecContext class.
  h264: Complexify frame num gap shortening code
  intreadwrite.h: fix AV_RL32/AV_RB32 signedness.
  Fix decoding of mpegts streams with h264 video that does *NOT* have b frames
  Add minor bumps and APIChanges entries for lavf private options.
  ffmpeg: deprecate -vc and -tvstd
  ffmpeg: use new avformat_open_* API.
  ffserver: use new avformat_open_* API.
  ffprobe: use new avformat_open_* API.
  ffplay: use new avformat_open_* API.
  cmdutils: add opt_default2().
  dict: add AV_DICT_APPEND flag.
  lavf: add avformat_write_header() as a replacement for av_write_header().
  Deprecate av_open_input_* and remove their uses.
  lavf: add avformat_open_input() as a replacement for av_open_input_*
  AVOptions: add av_opt_find() as a replacement for av_find_opt.
  AVOptions: add av_opt_set_dict() mapping a dictionary struct to a context.
  ffmpeg: don't abuse a global for passing frame size from input to output
  ffmpeg: don't abuse a global for passing pixel format from input to output
  ffmpeg: initialise encoders earlier.

Conflicts:
	cmdutils.c
	doc/APIchanges
	ffmpeg.c
	ffplay.c
	ffprobe.c
	libavcodec/h264.c
	libavformat/avformat.h
	libavformat/utils.c
	libavformat/version.h
	libavutil/avutil.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-18 05:10:38 +02:00
Anton Khirnov
603b8bc2a1 Deprecate av_open_input_* and remove their uses.
Deprecate the last remaining member of AVFormatParameters.
2011-06-16 20:24:56 +02:00
Michael Niedermayer
7b376b398a Merge remote branch 'qatar/master'
* qatar/master:
  Handle unicode file names on windows
  rtp: Rename the open/close functions to alloc/free
  Lowercase all ff* program names.
  Refer to ff* tools by their lowercase names.
NOT Pulled  Replace more FFmpeg instances by Libav or ffmpeg.
  Replace `` by $() syntax in shell scripts.
  patcheck: Allow overiding grep program(s) through environment variables.
NOT Pulled  Remove stray libavcore and _g binary references.
  vorbis: Rename decoder/encoder files to follow general file naming scheme.
  aacenc: Fix whitespace after last commit.
  cook: Fix small typo in av_log_ask_for_sample message.
  aacenc: Finish 3GPP psymodel analysis for non mid/side cases.
  Remove RDFT dependency from AAC decoder.
  Add some debug log messages to AAC extradata
  Fix mov debug (u)int64_t format strings.
  bswap: use native types for av_bwap16().
  doc: FLV muxing is supported.
  applehttp: Handle AES-128 encrypted streams
  Add a protocol handler for AES CBC decryption with PKCS7 padding
  doc: Mention that DragonFly BSD requires __BSD_VISIBLE set

Conflicts:
	ffplay.c
	ffprobe.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-04-24 03:41:22 +02:00
Martin Storsjö
9261e6cf3f rtp: Rename the open/close functions to alloc/free
This avoids clashes if we internally want to override the global
open function.

Signed-off-by: Martin Storsjö <martin@martin.st>
2011-04-24 00:05:37 +03:00
Mans Rullgard
2912e87a6c Replace FFmpeg with Libav in licence headers
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-03-19 13:33:20 +00:00
Anton Khirnov
45a8a02a41 lavf: replace avio_seek(SEEK_CUR) with avio_skip where it makes sense
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-16 22:24:51 -04:00
Anton Khirnov
a2704c9712 avio: add avio_tell macro as a replacement for url_ftell
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-04 11:26:57 -05:00
Anton Khirnov
e356fc57a2 lavf: replace all uses of url_fskip with avio_seek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:22:16 -05:00
Anton Khirnov
6b4aa5dac8 avio: avio_ prefix for url_fseek
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-03-01 12:12:33 -05:00
Anton Khirnov
b7effd4e83 avio: avio_ prefixes for get_* functions
In the name of consistency:
get_byte           -> avio_r8
get_<type>         -> avio_r<type>
get_buffer         -> avio_read

get_partial_buffer will be made private later

get_strz is left out becase I want to change it later to return
something useful.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 11:23:22 -05:00
Anton Khirnov
8d9ac969cb avio: rename av_alloc_put_byte -> avio_alloc_context for consistency
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-21 10:23:44 -05:00
Anton Khirnov
e731b8d872 avio: move init_put_byte() to a new private header and rename it
init_put_byte should never be used outside of lavf, since
sizeof(AVIOContext) isn't part of public ABI.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:31 -05:00
Anton Khirnov
ae628ec1fd avio: rename ByteIOContext to AVIOContext.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-20 08:37:15 -05:00
Martin Storsjö
b2dd842d21 rtsp/rdt: Assign the RTSPStream index to AVStream->id
This is used for mapping AVStreams back to their corresponding
RTSPStream. Since d9c0510, the RTSPStream pointer isn't stored in
AVStream->priv_data any longer, breaking this mapping from AVStreams
to RTSPStreams.

Also, we don't need to clear the priv_data in rdt cleanup any longer,
since it isn't set to duplicate pointers.

Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2011-02-11 16:58:19 -05:00
Mans Rullgard
44adbebe17 Remove final semicolon from some macros
This avoids double semicolons after macro expansion.

Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-02-10 21:45:17 +00:00
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
Martin Storsjö
ad4ad27fb6 rtsp/rtpdec: Allow rtp_parse_packet to take ownership of the packet buffer
Do the same change for ff_rdt_parse_packet, too, to keep the interfaces
similar.

Originally committed as revision 25289 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-10-01 17:43:27 +00:00
Aurelien Jacobs
dfdb353cd5 get rid of MAX_STREAMS limit in RDT
Originally committed as revision 24751 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-08-09 22:58:54 +00:00
Diego Biurrun
0baf34d844 Remove angular brackets from Doxygen comments; Doxygen confuses them for HTML.
Originally committed as revision 23991 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-07-02 12:48:32 +00:00
Diego Biurrun
ba87f0801d Remove explicit filename from Doxygen @file commands.
Passing an explicit filename to this command is only necessary if the
documentation in the @file block refers to a file different from the
one the block resides in.

Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-20 14:45:34 +00:00
Ronald S. Bultje
0b9535b9a2 Remove dead initialization.
Originally committed as revision 22780 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-04-02 14:55:01 +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
Martin Storsjö
ddbeb95447 Add a lowercase parameter to ff_data_to_hex
Originally committed as revision 22665 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-25 07:13:20 +00:00
Ronald S. Bultje
84f0aba18d handler can be NULL if we did not support this dynamic format (codec).
Fixes issue 1658 (the crasher), although the format itself is obviously
still unsupported.

Originally committed as revision 21078 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-07 23:05:19 +00:00
Ronald S. Bultje
34bddc39b4 Don't use a pointer-to-flags/timestamp in ff_rm_parse_packet(); the function
used to return packet data, which might update the flags/timestamp to be
used for the next packet data returned by the demuxer. However, that was
separated out into a new function, and the flags/timestamp are thus never
updated within ff_rm_parse_packet() anymore, and thus do not need to be
a pointer.

Originally committed as revision 19539 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-30 15:04:19 +00:00
Colin McQuillan
202a6697ba Use named initializers and use new/free_context() instead of extradata()
for context allocators. Patch by Colin McQuillan m niloc googlemail com.

Originally committed as revision 19518 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-07-27 14:29:06 +00:00
Stefano Sabatini
9106a698e7 Rename bitstream.h to get_bits.h.
Originally committed as revision 18494 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-04-13 16:20:26 +00:00
Ronald S. Bultje
c882927957 Reindent after r18010.
Originally committed as revision 18011 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 13:01:02 +00:00
Ronald S. Bultje
c5efef7be9 Remove packet returning in ff_rm_parse_packet() if we're using the packet
cache, since this can already be accessed through ff_rm_retrieve_cache().
See "[PATCH] rmdec.c: remove cache access duplication" thread.

Originally committed as revision 18009 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-16 12:57:49 +00:00
Ronald S. Bultje
a68d44ed6f Don't (ab)use PKT_FLAG_* in RTP code, since the two have virtually nothing
in common except for this one value. Change was requested by Luca in the
"[FFmpeg-devel] RTP mark bit not passed to parse_packet" thread.

Originally committed as revision 17615 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-26 14:23:05 +00:00
Luca Abeni
302879cb36 Split rtp.h in rtp.h, rtpdec.h, and rtpenc.h
Originally committed as revision 17016 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-06 10:35:52 +00:00
Ronald S. Bultje
1a45a9f4c0 Add "AVFormatContext *ctx" (that being the RTSP demuxer's) as first argument
to the parse_packet() function pointer in RTPDynamicProtocolHandlers. This
allows these functions to peek back and retrieve values from the demuxer's
context (or RTSPState). The ASF/RTP payload parser will use this to be able
to parse SDP values (which occur even before the payload ID is given), store
them in the RTSPState and then retrieve them while parsing payload data. See
"[PATCH] RTSP-MS 13/15: add RTSP demuxer AVFormatContext to parse_packet()
function pointer (was: transport context)" mailinglist thread.

Originally committed as revision 17015 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-06 01:37:19 +00:00
Diego Biurrun
bad5537e2c Use full internal pathname in doxygen @file directives.
Otherwise doxygen complains about ambiguous filenames when files exist
under the same name in different subdirectories.

Originally committed as revision 16912 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-02-01 02:00:19 +00:00
Luca Abeni
20631a9c15 Merge rtp_internal.h in rtp.h, and remove rtp_internal.h
Originally committed as revision 16817 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-27 12:23:16 +00:00
Diego Biurrun
c2fef0c163 Use "" instead of <> when #including non-system headers.
Originally committed as revision 16689 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-19 23:41:46 +00:00
Ronald S. Bultje
7c68a17754 Parse the OpaqueData field for every AVStream represented by this "set of
streams" (a single RTSPStream / RDTDemuxContext can represent several
AVStreams, that's just how Real/RDT was designed...). This will fill in
most of the AVStream/AVCodecContext header fields, similar to reading a
RM file header would. See "[PATCH] multi-stream MDPR parsing" thread on
mailinglist.

Originally committed as revision 16468 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 14:45:13 +00:00
Ronald S. Bultje
530bca9439 Parse the bitrate field in the ASMRuleBook ("AverageBandwidth") to fill in
the AVStream->AVCodecContext->bit_rate field, which is not in the MDPR block
(the "OpaqueData" SDP field). This allows clients to choose streams based
on their bitrate, which is what most network-players base stream selection
on. (Of course, it is also possible to select based on anything else, that
is entirely up to the client.) See "[PATCH] rdt.c: ASM rulebook bitrate
reading" thread on mailinglist.

Originally committed as revision 16467 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 14:41:40 +00:00
Ronald S. Bultje
3ca45429fe Parse the ASMRuleBook SDP line to dynamically create one new AVStream for
each "rule" described in the ASMRuleBook. Each rule represents a stream
of identical content compared to other streams in the same rulebook, but
with a possibly different codec/bitrate/etc. See "[PATCH] rdt.c: ASM
rulebook parsing and AVStream creation" thread on mailinglist.

Originally committed as revision 16466 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-01-07 14:38:44 +00:00
Ronald S. Bultje
c49a3ec30a Fix double free which happens for playback of .rm files after r16365. See
"rmdec.c: double free" discussion on mailinglist, patch with suggestions
from Reimar Doffinger.

Originally committed as revision 16378 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 23:23:59 +00:00
Ronald S. Bultje
ade8fb4d75 Reindent after r16368.
Originally committed as revision 16369 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 05:59:11 +00:00
Ronald S. Bultje
a9f84821c5 Add audio_pkt_cnt return value to ff_rm_retrieve_cache(). See discussion in
"[PATCH] oops I broke rdt.c" mailinglist thread.

Originally committed as revision 16368 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 05:58:23 +00:00
Ronald S. Bultje
5d88c2647d Change audio_pkt_cnt from an array into a single field, since only a single
member of the array is ever used (compare to RMDemuxContext->audio_pkt_cnt).
See "[PATCH] oops I broke rdt.c" mailinglist thread.

Originally committed as revision 16367 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 05:55:09 +00:00
Ronald S. Bultje
886e89d0d0 Add RMStream object as function argument to public functions so that non-.rm
AVStreams can be used to call these public rmdec.c functions as well, as is
the case for RDT/RTSP streams. See mailinglist discussion in "[PATCH] rdt.c:
don't reuse the same AVStream in both RTSP and RM demuxer" thread.

Originally committed as revision 16366 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-28 00:21:11 +00:00
Ronald S. Bultje
a15ebf34c7 Don't access RMContext directly in rdt.c. Rather, use the return value of
ff_rm_parse_packet() to indicate whether more audio packets are available
in the demuxer from the last RM frame, and save that in the RDT parsing
context. See patch/discussion in "[PATCH] rdt.c: don't access RMContext"
on ML.

Originally committed as revision 16110 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-13 21:37:27 +00:00
Ronald S. Bultje
7b2a070800 Change function prototype of the sdp_parse_a_line in DynamicProtocolHandler.
This function is called in rtsp.c for each a= line in the SDP of the Describe
response after m= RTSP stream descriptors. The function prototype used to
take an AVStream argument. For RDT, however, every RTSPStream represents
a set of streams of identical content, and can thus represent multiple
AVStreams. Therefore, it should not take an AVStream as argument. This
patch modifies it to accept a AVFormatContext (of the RTSP/SDP demuxer)
instead. See discussion in "[PATCH/RFC] change function prototype of
parse_sdp_a_line" thread on ML.

Originally committed as revision 16024 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-06 18:41:17 +00:00
Ronald S. Bultje
7960e18fdf Implement rule-number parsing, the initial step in stream (and bitrate)
selection. See discussion in ML thread "[PATCH] RDT/Realmedia patches #2".

Originally committed as revision 15966 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-01 00:08:42 +00:00