Thomas Bernard
836f3555a8
avformat/au: Read MetaData from AU Sun audio file header
...
recognize title= album= artist= genre= track=
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-13 20:58:43 +02:00
Thomas Bernard
1f8c0e44cb
avformat/au: Write MetaData in AU Sun audio file header
...
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-06-03 12:18:57 +02:00
Derek Buitenhuis
6f69f7a8bf
Merge commit '9200514ad8717c63f82101dc394f4378854325bf'
...
* commit '9200514ad8717c63f82101dc394f4378854325bf':
lavf: replace AVStream.codec with AVStream.codecpar
This has been a HUGE effort from:
- Derek Buitenhuis <derek.buitenhuis@gmail.com>
- Hendrik Leppkes <h.leppkes@gmail.com>
- wm4 <nfxjfg@googlemail.com>
- Clément Bœsch <clement@stupeflix.com>
- James Almer <jamrial@gmail.com>
- Michael Niedermayer <michael@niedermayer.cc>
- Rostislav Pehlivanov <atomnuker@gmail.com>
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2016-04-10 20:59:55 +01:00
Anton Khirnov
9200514ad8
lavf: replace AVStream.codec with AVStream.codecpar
...
Currently, AVStream contains an embedded AVCodecContext instance, which
is used by demuxers to export stream parameters to the caller and by
muxers to receive stream parameters from the caller. It is also used
internally as the codec context that is passed to parsers.
In addition, it is also widely used by the callers as the decoding (when
demuxer) or encoding (when muxing) context, though this has been
officially discouraged since Libav 11.
There are multiple important problems with this approach:
- the fields in AVCodecContext are in general one of
* stream parameters
* codec options
* codec state
However, it's not clear which ones are which. It is consequently
unclear which fields are a demuxer allowed to set or a muxer allowed to
read. This leads to erratic behaviour depending on whether decoding or
encoding is being performed or not (and whether it uses the AVStream
embedded codec context).
- various synchronization issues arising from the fact that the same
context is used by several different APIs (muxers/demuxers,
parsers, bitstream filters and encoders/decoders) simultaneously, with
there being no clear rules for who can modify what and the different
processes being typically delayed with respect to each other.
- avformat_find_stream_info() making it necessary to support opening
and closing a single codec context multiple times, thus
complicating the semantics of freeing various allocated objects in the
codec context.
Those problems are resolved by replacing the AVStream embedded codec
context with a newly added AVCodecParameters instance, which stores only
the stream parameters exported by the demuxers or read by the muxers.
2016-02-23 17:01:58 +01:00
Michael Niedermayer
95398aa949
Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228'
...
* commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228':
lavf: add the notimestamps flag to the muxers missing it
Conflicts:
libavformat/adtsenc.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-18 17:28:10 +02:00
Anton Khirnov
f792d3cbb8
lavf: add the notimestamps flag to the muxers missing it
2014-06-18 15:03:31 +02:00
Michael Niedermayer
78e6f83ce0
avformat/au: add assert to help source code analyzers
...
See: CID1108585 and CID1108603
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-20 14:46:36 +02:00
Carl Eugen Hoyos
640c70ddc2
avformat: Use G726LE decoder for Sun AU files
...
fixes ticket #1955 as suggested by Roman.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-18 16:46:08 +02:00
Michael Niedermayer
580a0600ef
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
Move misplaced file author information where it belongs
Conflicts:
libavcodec/adpcm.c
libavcodec/adpcmenc.c
libavcodec/gif.c
libavcodec/x86/dsputilenc_mmx.c
libavcodec/x86/fmtconvert_init.c
libavformat/au.c
libavformat/gif.c
libavformat/mov.c
libavformat/nsvdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 15:56:18 +02:00
Diego Biurrun
ac9362c5d9
Move misplaced file author information where it belongs
2013-04-11 02:42:11 +02:00
Michael Niedermayer
a9ddb62489
Merge commit '1ecdf8912b9ced51b3267cdcdce5e394d0a3bf8e'
...
* commit '1ecdf8912b9ced51b3267cdcdce5e394d0a3bf8e':
avformat: av_log_ask_for_sample() ---> avpriv_request_sample()
Conflicts:
libavformat/mxfdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-14 12:41:34 +01:00
Diego Biurrun
1ecdf8912b
avformat: av_log_ask_for_sample() ---> avpriv_request_sample()
2013-03-13 20:42:21 +01:00
Paul B Mahol
0dcfccaa69
auenc: strict check for supported codec
...
Also check number of streams and give error message why muxing failed.
This prevents muxing unsupported codec with known and supported tag.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-30 22:17:52 +00:00
Paul B Mahol
10e4905dd9
auenc: remove put_au_header() and merge its code into au_write_header
...
Such level of abstraction is pointless.
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-30 22:17:52 +00:00
Michael Niedermayer
2e230cf1b5
au: switch to ff_pcm_read_packet() again, after the merge
...
This fixes G722 durations
Suggested-by: durandal_1707
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-11 15:18:58 +01:00
Michael Niedermayer
65b8527993
Merge commit 'f7bf72a4a1146a7583577c9bdc066767e1ba3c6a'
...
* commit 'f7bf72a4a1146a7583577c9bdc066767e1ba3c6a':
idcinvideo: correctly set AVFrame defaults
yadif: Port inline assembly to yasm
au: remove unnecessary casts
au: return AVERROR codes instead of -1
Conflicts:
libavcodec/idcinvideo.c
libavfilter/x86/yadif_template.c
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:27:16 +01:00
Michael Niedermayer
8c7de73e20
Merge commit 'fd9147f11456a7e39a998d7270684922a2a46e6d'
...
* commit 'fd9147f11456a7e39a998d7270684922a2a46e6d':
au: cosmetics: pretty-print and remove pointless comments
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:19:22 +01:00
Michael Niedermayer
dc5767ff0a
Merge commit 'c88d245c9866e48cb8a238b7564964c1fcf3315f'
...
* commit 'c88d245c9866e48cb8a238b7564964c1fcf3315f':
au: use ff_raw_write_packet()
au: set stream start time and packet durations
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 12:05:54 +01:00
Michael Niedermayer
452f632903
Merge commit 'af68a2baae6761044cbed95575e8bcfebf55c6f1'
...
* commit 'af68a2baae6761044cbed95575e8bcfebf55c6f1':
au: use %u when printing id and channels since they are unsigned
au: validate sample rate
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 11:21:03 +01:00
Michael Niedermayer
be894d6cae
Merge commit 'c837b38dd33a11c3810e988a60193a858eb4f58c'
...
* commit 'c837b38dd33a11c3810e988a60193a858eb4f58c':
au: move skipping of unused data to before parameter validation
au: do not arbitrarily limit channel count
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 11:12:08 +01:00
Michael Niedermayer
70a65ecabf
Merge commit '9a7b56883d1333cdfcdf0fa7584a333841b86114'
...
* commit '9a7b56883d1333cdfcdf0fa7584a333841b86114':
au: set bit rate
au: validate bits-per-sample separately from codec tag
rtpdec_vp8: Mark broken packets with AV_PKT_FLAG_CORRUPT
Conflicts:
libavformat/au.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-10 10:18:35 +01:00
Justin Ruggles
fd9147f114
au: cosmetics: pretty-print and remove pointless comments
2013-01-09 11:52:57 -05:00
Justin Ruggles
c88d245c98
au: use ff_raw_write_packet()
2013-01-09 11:52:57 -05:00
Justin Ruggles
af68a2baae
au: use %u when printing id and channels since they are unsigned
2013-01-09 11:52:57 -05:00
Justin Ruggles
c837b38dd3
au: move skipping of unused data to before parameter validation
...
Also do not unnecessarily skip 0 bytes.
2013-01-09 11:52:57 -05:00
Justin Ruggles
f7a3c540c5
au: remove unnecessary casts
2013-01-09 11:52:57 -05:00
Justin Ruggles
bdd00e2d1b
au: set stream start time and packet durations
2013-01-09 11:52:57 -05:00
Justin Ruggles
47d029a4c1
au: validate sample rate
2013-01-09 11:52:57 -05:00
Justin Ruggles
fb48f825e3
au: do not arbitrarily limit channel count
...
Nothing in the AU specification sets a limit on channel count.
We only need to avoid an overflow in the packet size calculation.
2013-01-09 11:52:57 -05:00
Justin Ruggles
2f8207b1c6
au: return AVERROR codes instead of -1
2013-01-09 11:52:57 -05:00
Justin Ruggles
2613de8805
au: do not set pkt->size directly
...
It is already set by av_get_packet() even for partial reads.
2013-01-09 11:52:57 -05:00
Justin Ruggles
9a7b56883d
au: set bit rate
2013-01-09 11:52:56 -05:00
Justin Ruggles
bd4cdef5a8
au: set block_align and use it in au_read_packet()
2013-01-09 11:52:56 -05:00
Justin Ruggles
3f98848d6e
au: validate bits-per-sample separately from codec tag
2013-01-09 11:52:56 -05:00
Justin Ruggles
f2214c6224
au: use ff_raw_write_packet()
2013-01-04 19:52:57 +00:00
Paul B Mahol
507956824c
auenc: do not write invalid file size
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-28 16:29:22 +00:00
Michael Niedermayer
d69238e991
Merge commit 'f3298f12997eb4b7ad203766f768f92e3dd72a2a'
...
* commit 'f3298f12997eb4b7ad203766f768f92e3dd72a2a':
Return proper error code after av_log_ask_for_sample()
configure: cosmetics: Separate hwaccel dependencies from decoders/encoders
oggdec: check memory allocation
Conflicts:
configure
libavcodec/pictordec.c
libavformat/anm.c
libavformat/oggdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-24 15:09:58 +01:00
Diego Biurrun
f3298f1299
Return proper error code after av_log_ask_for_sample()
2012-12-23 18:56:56 +01:00
Paul B Mahol
76877beada
au: return meaningful error codes
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-19 20:16:35 +00:00
Michael Niedermayer
94ecbe23c5
Merge commit 'c35f0e8495e34c2082dcde805e9323c9f6a4cb0a'
...
* commit 'c35f0e8495e34c2082dcde805e9323c9f6a4cb0a':
au: Reorder code so that both muxer and demuxer are under #ifdefs
fate: Move RALF test into lossless audio group
cosmetics: Use consistent names for multiple inclusion guards.
Conflicts:
libavformat/au.c
tests/fate/lossless-audio.mak
tests/fate/real.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-18 14:27:59 +01:00
Diego Biurrun
c35f0e8495
au: Reorder code so that both muxer and demuxer are under #ifdefs
...
This reduces code size when either piece has been disabled.
2012-12-17 17:02:22 +01:00
Paul B Mahol
c090b5427d
audec: use ff_pcm_read_packet()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-05 12:40:57 +00:00
Paul B Mahol
765debf51f
auenc: remove pointless assigment
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2012-12-04 12:42:50 +00:00
Michael Niedermayer
076300bf8b
Merge commit 'bfe5454cd238b16e7977085f880205229103eccb'
...
* commit 'bfe5454cd238b16e7977085f880205229103eccb':
lavf: move ff_codec_get_tag() and ff_codec_get_id() definitions to internal.h
lavf: move "MP3 " fourcc from riff to nut
fate: vpx: Add dependencies
fate: Fix wavpack-matroskamode test dependencies
x86: dsputilenc: port to cpuflags
Conflicts:
libavformat/internal.h
libavformat/nut.c
tests/fate/vpx.mak
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-29 13:45:57 +01:00
Justin Ruggles
bfe5454cd2
lavf: move ff_codec_get_tag() and ff_codec_get_id() definitions to internal.h
2012-11-28 11:18:49 -05:00
Carl Eugen Hoyos
95903e3cfd
Support G.722 in Sun AU.
2012-11-24 10:43:32 +01:00
Carl Eugen Hoyos
df651cf42e
Add an annotation field as required by the specification when muxing Sun AU.
...
Reviewed-by: Paul B Mahol
2012-11-24 10:43:11 +01:00
Nicolas George
92b8c9d89e
lavf/au: check bits per coded sample.
...
Without that, it would repeatedly produce empty packets
if the codec if forced to something invalid.
Fix trac ticket #1652 .
2012-08-18 17:45:58 +02:00
Michael Niedermayer
7a72695c05
Merge commit '36ef5369ee9b336febc2c270f8718cec4476cb85'
...
* commit '36ef5369ee9b336febc2c270f8718cec4476cb85':
Replace all CODEC_ID_* with AV_CODEC_ID_*
lavc: add AV prefix to codec ids.
Conflicts:
doc/APIchanges
doc/examples/decoding_encoding.c
doc/examples/muxing.c
ffmpeg.c
ffprobe.c
ffserver.c
libavcodec/8svx.c
libavcodec/avcodec.h
libavcodec/dnxhd_parser.c
libavcodec/dvdsubdec.c
libavcodec/error_resilience.c
libavcodec/h263dec.c
libavcodec/libvorbisenc.c
libavcodec/mjpeg_parser.c
libavcodec/mjpegenc.c
libavcodec/mpeg12.c
libavcodec/mpeg4videodec.c
libavcodec/mpegvideo.c
libavcodec/mpegvideo_enc.c
libavcodec/pcm.c
libavcodec/r210dec.c
libavcodec/utils.c
libavcodec/v210dec.c
libavcodec/version.h
libavdevice/alsa-audio-dec.c
libavdevice/bktr.c
libavdevice/v4l2.c
libavformat/asfdec.c
libavformat/asfenc.c
libavformat/avformat.h
libavformat/avidec.c
libavformat/caf.c
libavformat/electronicarts.c
libavformat/flacdec.c
libavformat/flvdec.c
libavformat/flvenc.c
libavformat/framecrcenc.c
libavformat/img2.c
libavformat/img2dec.c
libavformat/img2enc.c
libavformat/ipmovie.c
libavformat/isom.c
libavformat/matroska.c
libavformat/matroskadec.c
libavformat/matroskaenc.c
libavformat/mov.c
libavformat/movenc.c
libavformat/mp3dec.c
libavformat/mpeg.c
libavformat/mpegts.c
libavformat/mxf.c
libavformat/mxfdec.c
libavformat/mxfenc.c
libavformat/nsvdec.c
libavformat/nut.c
libavformat/oggenc.c
libavformat/pmpdec.c
libavformat/rawdec.c
libavformat/rawenc.c
libavformat/riff.c
libavformat/sdp.c
libavformat/utils.c
libavformat/vocenc.c
libavformat/wtv.c
libavformat/xmv.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-08-07 22:45:46 +02:00
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
2012-08-07 16:00:24 +02:00