Anton Khirnov
d63443b968
lavc: drop the av_fast_{re,m}alloc compatibility wrappers
...
They were only needed until the bump.
2014-08-10 15:40:38 +00:00
Anton Khirnov
9325d88eba
lavc: remove obsolete and disabled avpriv functions
2014-08-09 16:59:34 +00:00
Anton Khirnov
24c788f487
Remove obsolete FF_API_REFERENCE_DTS cruft.
2014-08-09 16:59:26 +00:00
Anton Khirnov
24e87f7f42
Remove obsolete FF_API_PROBE_MIME cruft.
2014-08-09 16:59:21 +00:00
Anton Khirnov
472f9ed312
Remove obsolete FF_API_AVFRAME_COLORSPACE cruft.
2014-08-09 16:59:13 +00:00
Anton Khirnov
1985c2e75c
Bump major versions of all libraries.
2014-08-09 16:58:33 +00:00
Anton Khirnov
f4c444e17d
Postpone API-incompatible changes until the next bump.
2014-08-09 16:57:10 +00:00
Anton Khirnov
7acdd3a127
hevc_filter: avoid excessive calls to ff_hevc_get_ref_list()
...
1) each of the loops run within a single CTB, so the relevant reference
list is constant
2) when that CTB is, or lies on the same slice as, the current one, we
can use a simple access instead of a relatively expensive call to
ff_hevc_get_ref_list()
2014-08-09 16:15:51 +00:00
Anton Khirnov
52a2c17ec0
hevc_refs: drop the handling of negative coordinates in ff_hevc_get_ref_list()
...
It makes no sense and cannot happen in any place from which this
function is called.
2014-08-09 16:15:38 +00:00
Anton Khirnov
a7a17e3f19
hevc_filter: move some conditions out of loops
2014-08-09 16:15:11 +00:00
Anton Khirnov
70211539a3
hevc: deobfuscate slice/tile boundary handling for DBF
...
Use named constants instead of magic numbers, avoid using variables with
inverse meaning from what their name implies.
2014-08-09 16:13:48 +00:00
Anton Khirnov
5501971578
hevc_filter: drop more redundant checks
...
The if() around those loops ensures this condition is always false.
2014-08-09 16:13:37 +00:00
Anton Khirnov
65b8b6c476
hevc_filter: drop redundant checks
...
ff_hevc_deblocking_boundary_strengths() is never called if the
deblocking filter is disabled for the slice.
2014-08-09 16:13:24 +00:00
Anton Khirnov
4d1ff2a489
hevc: calculate the dbf strength in hls_pcm_sample() only if dbf is enabled
2014-08-09 16:13:11 +00:00
Anton Khirnov
7b588bb691
svq1: do not modify the input packet
...
The input data must remain constant, make a copy instead. This is in
theory a performance hit, but since I failed to find any samples
using this feature, this should not matter in practice.
Also, check the size of the header, avoiding invalid reads on truncated
data.
CC:libav-stable@libav.org
2014-08-06 18:59:27 +00:00
Anton Khirnov
c7d9b473e2
cdgraphics: do not return 0 from the decode function
...
0 means no data consumed, so it can trigger an infinite loop in the
caller.
CC:libav-stable@libav.org
2014-08-06 18:32:42 +00:00
Anton Khirnov
a1599f3f7e
cdgraphics: switch to bytestream2
...
Fixes possible invalid memory accesses on corrupted data.
CC:libav-stable@libav.org
Bug-ID: CVE-2013-3674
2014-08-06 18:32:38 +00:00
Anton Khirnov and Diego Biurrun
f89d76c103
mpeg4video: Initialize xvididct for all threads
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2014-08-03 15:18:58 -07:00
Anton Khirnov
e76f2d1197
hevc: eliminate the last element from TransformTree
...
Replace it by passing an additional parameter to transform_unit()
2014-07-28 08:10:35 +00:00
Anton Khirnov
4aa80808bc
hevc: eliminate unnecessary cbf_c{b,r} arrays
...
They are replaced by passing additional parameters to the transform
functions.
2014-07-28 08:09:18 +00:00
Anton Khirnov
0daa255463
hevc: do not store the transform inter_split flag in the context
...
It does not need to be preserved.
2014-07-28 08:05:47 +00:00
Anton Khirnov
53a11135f2
hevc: simplify splitting the transform tree blocks
2014-07-28 08:04:19 +00:00
Anton Khirnov
e36a2f4c52
hevc: eliminate an unnecessary array
...
We do not need to store the value of the split flag.
2014-07-28 08:03:53 +00:00
Anton Khirnov
4b169321b8
codec_desc: fix some typos in long codec names
...
The rv20 typo spotted by Hendrik Leppkes <h.leppkes@gmail.com >
2014-07-28 08:03:13 +00:00
Anton Khirnov
c5fca0174d
lavc: add a property for marking codecs that support frame reordering
2014-07-28 08:02:50 +00:00
Anton Khirnov
541427ab4d
eamad: use the bytestream2 API instead of AV_RL
...
This is safer and possibly fixes invalid reads on truncated data.
CC:libav-stable@libav.org
2014-07-27 07:10:54 +00:00
Anton Khirnov
73bb8f61d4
hevcdsp: remove an unneeded variable in the loop filter
...
beta0 and beta1 will always be the same
2014-07-26 15:00:11 +00:00
Anton Khirnov
56f98e340f
output example: convert audio to the format supported by the encoder
2014-07-26 14:57:59 +00:00
Anton Khirnov
884f7c975f
output example: set the stream timebase
...
This is required by the new API.
2014-07-26 14:57:45 +00:00
Anton Khirnov
17e9d52c8c
hevc_ps: remove a write-only variable
2014-07-11 08:38:51 +00:00
Anton Khirnov
0307cc2253
rtpdec: pass an AVFormatContext to ff_parse_fmtp()
...
Use it for logging, instead of NULL or the stream codec context.
2014-07-09 13:40:54 +00:00
Anton Khirnov
650d384048
yuv4mpegenc: do not access AVCodecContext.coded_frame
...
Its contents are meaningful only if the stream codec context is the one
actually used for encoding, which is often not the case (and is
discouraged).
Use AVCodecContext.field_order instead.
2014-07-09 13:40:39 +00:00
Anton Khirnov
27c1f82f56
nsvdec: remove commented out cruft
2014-07-09 13:38:54 +00:00
Anton Khirnov
edb1af7c46
mov: free the dv demux context with avformat_free_context()
2014-07-09 13:38:35 +00:00
Anton Khirnov
a14b61658c
mtv: do not set sample_rate for video
2014-07-09 13:38:26 +00:00
Anton Khirnov
b8604a9761
oggparsecelt: do not set AVCodecContext.frame_size
...
It is supposed to be set by decoders only.
2014-07-09 13:38:14 +00:00
Anton Khirnov
d5cf5afabb
adxdec: get rid of an avpriv function
...
The only thing the demuxer needs is the sample rate to set the timebase,
which can be simply read with AV_RB32.
2014-07-09 13:37:18 +00:00
Anton Khirnov
f6ee61fb05
lavc: export DV profile API used by muxer/demuxer as public
2014-07-09 13:35:07 +00:00
Anton Khirnov
3f3232a371
avconv: set the output stream timebase
...
This is required by the new API.
2014-07-09 13:30:33 +00:00
Anton Khirnov
c9c1265c52
avformat: update muxing doxy
...
The callers should now set the stream timebase, not the codec one.
2014-07-09 13:30:22 +00:00
Anton Khirnov
abda15a990
cdg: set the keyframe flag on the first packet
...
Bug-Id: 55
2014-07-09 13:30:11 +00:00
Anton Khirnov
9279826008
id3v2enc: use a case-insensitive comparison for APIC picture type
2014-07-03 18:40:37 +00:00
Anton Khirnov
a5864e9a25
output example: free the muxing format context properly
2014-06-26 16:08:06 +02:00
Anton Khirnov
182d3f8221
output example: rewrite encoding logic
...
Properly generate pts for the frames sent to the encoder, avoid
using private and deprecated AVStream.pts.
2014-06-26 16:07:34 +02:00
Anton Khirnov
a7fcd4122b
output example: store the scaling context in the stream context
2014-06-26 16:07:29 +02:00
Anton Khirnov
6a927d7aaf
output example: use a macro instead of a static variable
2014-06-26 16:07:23 +02:00
Anton Khirnov
63fd0d866c
output example: allocate the audio frame only once
2014-06-26 16:07:08 +02:00
Anton Khirnov
edd5f95764
output example: use OutputStream for audio streams as well
2014-06-26 16:07:02 +02:00
Anton Khirnov
5e7b125b6a
output example: use the new AVFrame API to allocate audio frames
2014-06-26 16:06:54 +02:00
Anton Khirnov
ac85f631c9
output example: set output channel layout
2014-06-26 16:06:48 +02:00
Anton Khirnov
294daf71a7
output example: use a struct to bundle the video stream variables together
2014-06-26 16:05:24 +02:00
Anton Khirnov
38d044429d
output example: use the new AVFrame API for allocating the video frame
2014-06-26 16:05:19 +02:00
Anton Khirnov
3f4edf0125
dump_stream: print the timebase as is, do not reduce it
...
It makes more sense to print the timebase exactly as it is set. Also,
this avoids a divide by zero when av_dump_format() is called on a format
context before writing the header.
2014-06-26 16:04:22 +02:00
Anton Khirnov
1b04eb20f7
lavc: do not allocate edges in the default get_buffer2()
2014-06-26 16:02:12 +02:00
Anton Khirnov
d349afb07b
dv: cosmetics, reindent
2014-06-20 14:15:39 +02:00
Anton Khirnov
650dee63c8
dv: get rid of global non-const tables
...
Instead, store them in the context and compute on each parameter change.
2014-06-20 14:15:31 +02:00
Anton Khirnov
778111592b
dvenc: initialize the profile only once, at init
...
We do not allow the frame parameters to change during encoding, so there
is no need to do this for each frame.
2014-06-20 14:15:16 +02:00
Anton Khirnov
452860d7e0
Use av_packet_rescale_ts() to simplify code.
2014-06-20 14:14:48 +02:00
Anton Khirnov
874390e163
lavc: add a convenience function for rescaling timestamps in a packet
2014-06-20 14:14:11 +02:00
Anton Khirnov
194be1f43e
lavf: switch to AVStream.time_base as the hint for the muxer timebase
...
Previously, AVStream.codec.time_base was used for that purpose, which
was quite confusing for the callers. This change also opens the path for
removing AVStream.codec.
The change in the lavf-mkv test is due to the native timebase (1/1000)
being used instead of the default one (1/90000), so the packets are now
sent to the crc muxer in the same order in which they are demuxed
(previously some of them got reordered because of inexact timestamp
conversion).
2014-06-18 15:12:34 +02:00
Anton Khirnov
d754ed4172
riffenc: take an AVStream instead of an AVCodecContext
...
It will be useful in the following commits.
Also, rename the AVCodecContext pointer name from 'stream' to 'codec'.
2014-06-18 15:03:55 +02:00
Anton Khirnov
f792d3cbb8
lavf: add the notimestamps flag to the muxers missing it
2014-06-18 15:03:31 +02:00
Anton Khirnov
cfbdd7ffbd
rtpenc: base max_frames_per_packet on avg_frame_rate, not codec timebase
...
Fall back to 1 (which is what is used for most cases anyway) when the
framerate is not set.
2014-06-18 15:03:16 +02:00
Anton Khirnov
894682a973
Remove avserver.
...
It has not been properly maintained for years and there is little hope
of that changing in the future.
It appears simpler to write a new replacement from scratch than
unbreaking it.
2014-06-18 14:55:28 +02:00
Anton Khirnov
71d6551e67
avconv: use the correct variable in comparison
2014-06-17 09:01:26 +02:00
Anton Khirnov
48e5092133
avconv: make -shortest work with streamcopy
...
CC: libav-stable@libav.org
2014-06-12 08:17:50 +02:00
Anton Khirnov
383136264e
avconv: do not use the stream codec context for encoding
2014-06-01 08:33:21 +02:00
Anton Khirnov
41776ba9c0
avconv: do not use the stream codec context for decoding
2014-06-01 08:33:11 +02:00
Anton Khirnov
e19d48dfce
flac muxer: support reading updated extradata from side data
2014-06-01 08:32:33 +02:00
Anton Khirnov
0097cbea69
flac muxer: accept only STREAMINFO extradata
...
The other format (full flac header blocks) should not be exported by any
demuxers anymore.
This allows to drop an avpriv_ function and also simplify the following
commits.
2014-06-01 08:31:33 +02:00
Anton Khirnov
ed39cda029
flacenc: send final extradata in packet side data
2014-06-01 08:27:01 +02:00
Anton Khirnov
0957b274e3
lavc: add an option to enable side data-only packets during encoding
...
Some encoders (e.g. flac) need to send side data when there is no more
data to be output. This enables them to output a packet with no data in
it, only side data.
2014-06-01 08:26:43 +02:00
Anton Khirnov
962d631573
matroskaenc: set the stream timebase earlier
...
Fixes calculating the ts offset for audio codecs with delay.
2014-05-29 08:01:58 +02:00
Anton Khirnov
43e7f0797f
flvenc: only write the framerate tag based on avg_frame_rate
...
Do not fall back on the codec timebase, since that can be anything for
VFR video.
2014-05-29 08:01:30 +02:00
Anton Khirnov
cf6977712c
movenc: write avg_frame_rate as the framerate, not the codec timebase
2014-05-29 08:01:23 +02:00
Anton Khirnov
81eec081af
matroskaenc: base DefaultDuration on the framerate, not the codec timebase
...
This results in DefaultDuration not being written when the framerate is
not known, but as this field is purely informative, this should not
break any sane demuxers.
2014-05-29 08:00:57 +02:00
Anton Khirnov
106b62f4ba
matroskaenc: write the channel mask for FLAC
2014-05-28 07:55:14 +02:00
Anton Khirnov
efcde917af
vorbiscomment: simplify API by using av_dict_count()
2014-05-28 07:54:54 +02:00
Anton Khirnov
23f741f793
matroskadec: parse the channel layout mask for FLAC
...
It is commonly stored in a vorbiscomment block in codec private data.
2014-05-28 07:50:32 +02:00
Anton Khirnov
4efdadc8ec
matroskadec: export just the STREAMINFO block as FLAC extradata
...
It contains all information that is used by the decoder and the other
FLAC-capable demuxers (flacdec, ogg) export only STREAMINFO as well.
2014-05-28 07:49:15 +02:00
Anton Khirnov
6df478bf89
matroskadec: split parsing tracks into a separate function
2014-05-28 07:48:59 +02:00
Anton Khirnov
5fdaf312c5
flac: make avpriv_flac_parse_block_header() inline
...
This avoids all the ABI troubles associated with avpriv_.
Since this function is very small and does not depend on any tables,
making it inline should have no adverse effects.
2014-05-28 07:48:30 +02:00
Anton Khirnov
54ed488b1a
flac muxer: write WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag for multichannel files
2014-05-28 07:47:31 +02:00
Anton Khirnov
d6b9ce99ea
flac demuxer: parse the WAVEFORMATEXTENSIBLE_CHANNEL_MASK tag
...
It is used to store the channel mask for non-standard layouts.
2014-05-28 07:47:15 +02:00
Anton Khirnov
f13ffb6636
flacdec: do not overwrite a channel layout set by the caller
...
The channel layout mask for non-standard layouts is typically stored at
the container level (as a vorbiscomment tag) for FLAC.
2014-05-28 07:46:04 +02:00
Anton Khirnov
7cc4c9f32f
lavfi/formats: avoid using AV_{PIX,SAMPLE}_FMT_NB
...
Thatt hardcodes the number of formats into lavfi and will break when a
shared lavu is updated, adding new formats.
2014-05-26 22:25:47 +02:00
Anton Khirnov
b03b2d86aa
buffersrc: avoid using AV_PIX_FMT_NB
...
That hardcodes the number of pixel formats into lavfi and will break
when a shared lavu is updated, adding new pixel formats.
2014-05-26 22:25:41 +02:00
Anton Khirnov
a7d070acb5
vf_fieldorder: avoid using AV_PIX_FMT_NB
...
That hardcodes the number of pixel formats into lavfi and will break
when a shared lavu is updated, adding new pixel formats.
2014-05-26 22:25:26 +02:00
Anton Khirnov
862f33c10e
vf_scale: use the pixfmt descriptor API
...
Avoid using AV_PIX_FMT_NB, since that hardcodes the number of pixel
formats into lavfi and will break when a shared lavu is updated, adding
new pixel formats.
2014-05-26 22:24:46 +02:00
Anton Khirnov
45fc73edfe
vf_format: rework format list parsing
...
Avoid using AV_PIX_FMT_NB, since that hardcodes the number of pixel
formats into lavfi and will break when a shared lavu is updated, adding
new pixel formats.
2014-05-26 22:22:42 +02:00
Anton Khirnov
9929b3564c
pthread_frame: simplify the code by using new AVPacket API
...
This also handles side data properly.
2014-05-19 13:12:46 +02:00
Anton Khirnov
cdf58f0599
avpacket: fix copying side data in av_packet_copy_props()
...
Side data count is incremented by by calling av_packet_new_side_data()
in the following loop, setting it explicitly results in the resulting
value being twice what it should be.
CC: libav-stable@libav.org
2014-05-19 13:12:40 +02:00
Anton Khirnov
a312f71090
lavf: deprecate now unused AVStream.pts
2014-05-19 07:14:24 +02:00
Anton Khirnov
ed7922faac
mux: drop one of the hacks comprising compute_pkt_fields2()
...
All encoders should output proper timestamps now.
2014-05-19 07:14:18 +02:00
Anton Khirnov
dc40d88625
avconv: do not use poorly defined and undocumented AVStream.pts
...
Use OutputStream.last_mux_dts as an approximation of 'current' output
time instead.
2014-05-19 07:14:11 +02:00
Anton Khirnov
c9f8809ee4
hevc/intra_pred: simplify neighboring sample derivation
2014-05-19 07:12:55 +02:00
Anton Khirnov
a1c2b48018
hevc: templatize intra_pred
2014-05-19 07:10:03 +02:00
Anton Khirnov
0ba5299a80
movenc: use the "encoder" metadata tag to write stsd Compressorname
...
This mirrors the demuxer behaviour and avoids accessing
AVCodecContext.codec, which should not be done in muxers.
2014-05-18 20:34:03 +02:00
Anton Khirnov
6656370b85
avconv: set the "encoder" tag when transcoding
2014-05-18 20:33:46 +02:00
Anton Khirnov
d246231e47
wavenc: use codec descriptors to get the codec name
...
Also, return a proper error code.
2014-05-18 20:33:38 +02:00