Anton Khirnov
05e59135b3
nutdec: do not set has_b_frames
...
It is not supposed to be set by demuxers.
2014-11-06 09:05:37 +01:00
Anton Khirnov
acc897e6b1
lavc: make avpriv_flac_is_extradata_valid() private on the next bump
2014-11-06 09:04:56 +01:00
Anton Khirnov
e839de0f85
oggenc: accept only STREAMINFO extradata
...
The reasoning is the same as for
0097cbea69 .
2014-11-06 09:04:32 +01:00
Anton Khirnov
c070a87515
lavc: make avpriv_flac_parse_streaminfo() private on the next bump
2014-11-06 09:04:12 +01:00
Anton Khirnov
7784f47762
lavf: stop using avpriv_flac_parse_streaminfo()
...
The only parameters needed by the demuxers are the sample rate and sample
count, which can be trivially extracted manually, without resorting to
an avpriv function.
2014-11-06 09:02:25 +01:00
Anton Khirnov
56dc46a189
riffenc: do not fall back on AVCodecContext.frame_size for MP3
...
It will not be set unless the codec context is used as the encoding
context, which is discouraged. For MP2, av_get_audio_frame_duration()
will already set the frame size properly. For MP3, set the frame size
explicitly.
2014-11-06 09:02:08 +01:00
Anton Khirnov
91e8d2eb1f
lavf: use the format context strict_std_compliance instead of the codec one
2014-11-06 09:01:49 +01:00
Anton Khirnov
2f3fadfbe3
lavc,lavf: switch to the new vorbis parse API
2014-11-06 09:00:46 +01:00
Anton Khirnov
5e80fb7ff2
lavc: add a public API for parsing vorbis packets.
...
It is required by (at least) the ogg demuxer.
Mark the current semi-public apriv API for removal.
2014-11-06 08:51:25 +01:00
Anton Khirnov
6896f95b24
vorbis_parser: add an AV prefix to VorbisParseContext
...
This is done in preparation for making it public.
2014-11-06 08:47:54 +01:00
Anton Khirnov
874792641e
vorbis_parser: use a dedicated AVClass for logging
...
Currently, the API takes an external AVCodecContext, which is used only
for extradata and logging. This change will allow to it to work without
an AVCodecContext in the following commits.
2014-11-06 08:47:21 +01:00
Anton Khirnov
4ad1eba011
lavd: fix building x11grab after a6674d2
2014-10-28 07:22:00 +01:00
Anton Khirnov
ef363ebd59
mp3enc: write full LAME frame
...
Most importantly, it contains the encoder delay and replaygain info.
2014-10-24 09:03:16 +02:00
Anton Khirnov
88b32673db
avconv: copy stream-level side data when streamcopying
2014-10-24 09:03:16 +02:00
Anton Khirnov
c63418e0a3
doc: reword the mp3 muxer documentation
...
Make it more structured.
2014-10-24 09:03:16 +02:00
Anton Khirnov
99143140de
mp3dec: fix reading the Xing tag
...
The quality scale field is only supposed to be present if the fourth bit
is set. In practice, lame always sets it, but other tools might not.
CC:libav-stable@libav.org
2014-10-24 09:03:16 +02:00
Anton Khirnov
530c1441fd
lavc: make lmax/lmin into private options of mpegvideo encoders
2014-10-18 05:29:14 +02:00
Anton Khirnov
15ec053c4c
lavc: make border_masking into private options of mpegvideo encoders
2014-10-18 05:28:40 +02:00
Anton Khirnov
c4f7bee087
lavc: deprecate unused mb_threshold field
2014-10-18 05:28:29 +02:00
Anton Khirnov
685be3d1ae
libvpxenc: add static-thresh private option
...
Currently, this option is accessed through AVCodecContext.mb_threshold,
which originally controlled reusing MB data when transcoding mpeg to
mpeg. Since the libvpx meaning is completely different from the original
mpegvideo meaning, it is better to use a separate private option for
this.
2014-10-18 05:28:03 +02:00
Anton Khirnov
59b55c494e
lavc: deprecate unused me_threshold field
2014-10-18 05:26:56 +02:00
Anton Khirnov
66a68ddd1a
lavc: make rc_buffer_aggressivity/rc_initial_cplx into private options of mpegvideo encoders
2014-10-18 05:26:29 +02:00
Anton Khirnov
a75c2eb25a
lavc: make rc_eq into private options of mpegvideo encoders
2014-10-18 05:23:51 +02:00
Anton Khirnov
946f95354b
lavc: make rc_qmod_* into private options of mpegvideo encoders
2014-10-18 05:23:05 +02:00
Anton Khirnov
a6e4ce9fd5
lavc: make rc_qsquish a private option of mpegvideo encoders
2014-10-18 05:21:50 +02:00
Anton Khirnov
fb238f8230
urlprotocol: remove unused url_interrupt_cb declaration
...
It is a remnant of the old interrupt callback API.
2014-10-18 05:01:20 +02:00
Anton Khirnov
557d4c4eca
avconv: replace AVCodecContext.time_base with framerate
2014-10-15 06:38:16 +00:00
Anton Khirnov
2d6e58497e
lavf: switch to AVCodecContext.framerate for demuxing
2014-10-15 06:37:55 +00:00
Anton Khirnov
7ea1b3472a
lavc: deprecate the use of AVCodecContext.time_base for decoding
...
When decoding, this field holds the inverse of the framerate that can be
written in the headers for some codecs. Using a field called 'time_base'
for this is very misleading, as there are no timestamps associated with
it. Furthermore, this field is used for a very different purpose during
encoding.
Add a new field, called 'framerate', to replace the use of time_base for
decoding.
2014-10-15 06:37:43 +00:00
Anton Khirnov
eabdc2a830
lavf: use initial_padding instead of deprecated delay
2014-10-13 19:10:30 +00:00
Anton Khirnov
2df0c32ea1
lavc: use a separate field for exporting audio encoder padding
...
Currently, the amount of padding inserted at the beginning by some audio
encoders, is exported through AVCodecContext.delay. However
- the term 'delay' is heavily overloaded and can have multiple different
meanings even in the case of audio encoding.
- this field has entirely different meanings, depending on whether the
codec context is used for encoding or decoding (and has yet another
different meaning for video), preventing generic handling of the codec
context.
Therefore, add a new field -- AVCodecContext.initial_padding. It could
conceivably be used for decoding as well at a later point.
2014-10-13 19:09:01 +00:00
Anton Khirnov
d208d1eba3
hevc_mvs: make sure to always initialize the temporal MV fully
...
The spec requires this.
Fixes uninitialized reads on some samples.
Remove now unnecessary initialization of the whole merge candidate list.
2014-10-07 07:13:01 +00:00
Anton Khirnov
79a60c8e77
hevc_mvs: initialize the temporal MV in case of missing ref
...
The caller expects the MV to always be initialized.
2014-10-07 07:12:55 +00:00
Anton Khirnov and Diego Biurrun
12f0388f9c
Add release notes for 11.
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2014-09-04 07:14:27 -07:00
Anton Khirnov
f5245a9c62
avconv: fix parsing the AVOptions for -target
...
CC: libav-stable@libav.org
2014-08-27 06:21:55 +00:00
Anton Khirnov
1688eef253
avconv: fix the muxrate values for -target
...
The mpegenc private option values are in 50-byte units.
CC: libav-stable@libav.org
2014-08-27 06:21:55 +00:00
Anton Khirnov
75bbaf2493
mpegenc: limit the maximum muxrate
...
It is written to the file as a 22-bit value.
CC: libav-stable@libav.org
2014-08-27 06:21:54 +00:00
Anton Khirnov
b263f8ffe7
lavf: add AVFormatContext.max_ts_probe
...
It allows to configure how long will avformat_find_stream_info() wait
to get the first timestamp.
2014-08-25 05:17:54 +00:00
Anton Khirnov
6ca11f7157
doc/APIchanges: fill in missing hashes and dates
2014-08-25 05:16:26 +00:00
Anton Khirnov
cb7b1a2dfb
electronicarts: set the framerate for TGQ/TQI
...
It is hardcoded to 15fps.
2014-08-22 11:15:20 +00:00
Anton Khirnov
7b6aae23e1
electronicarts: read the framerate for MAD
2014-08-22 11:15:20 +00:00
Anton Khirnov
4d6c515284
electronicarts: do not fail on zero-sized chunks
...
At least one FATE sample contains such chunks and happens to work simply
by accident (due to find_stream_info() swallowing the error).
CC: libav-stable@libav.org
2014-08-22 11:15:20 +00:00
Anton Khirnov and Michael Niedermayer
d92550d191
lavf: eliminate ff_get_audio_frame_size()
...
It is basically a wrapper around av_get_audio_frame_duration(), with a
fallback to AVCodecContext.frame_size. However, that field is set only
when the stream codec context is actually used for encoding or decoding,
which is discouraged.
For muxing, it is generally the responsibility of the caller to set the
packet duration.
For demuxing, if the duration is not stored at the container level, it
should be set by the parser.
Therefore, removing the frame_size fallback should not break any
important case.
(cherry picked from commit 30e50c5027 )
Conflicts:
libavformat/utils.c
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-08-14 03:12:58 +02:00
Anton Khirnov
30e50c5027
lavf: eliminate ff_get_audio_frame_size()
...
It is basically a wrapper around av_get_audio_frame_duration(), with a
fallback to AVCodecContext.frame_size. However, that field is set only
when the stream codec context is actually used for encoding or decoding,
which is discouraged.
For muxing, it is generally the responsibility of the caller to set the
packet duration.
For demuxing, if the duration is not stored at the container level, it
should be set by the parser.
Therefore, removing the frame_size fallback should not break any
important case.
2014-08-13 17:41:11 +00:00
Anton Khirnov
481a366749
cmdutils: allow matching by metadata in stream specifiers
2014-08-13 17:24:18 +00:00
Anton Khirnov
8ddc32629a
mem: add av_strndup() for duplicating substrings
2014-08-13 17:24:18 +00:00
Anton Khirnov
aa51b0492b
avconv: rename output_packet() to process_input_packet()
...
It more accurately describes what this function does
2014-08-13 17:24:18 +00:00
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 and Michael Niedermayer
a5c621aa85
hevc: rename variable in boundary strength to b more explicit
...
Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr >
cherry picked from commit 348bebedc0012aae201419669fca1eb61ec93ca6
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-28 14:20:19 +02: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 and Michael Niedermayer
77ef9fd1e9
hevc: eliminate unnecessary cbf_c{b,r} arrays
...
- They are be replaced by passing additional parameters to the transform
functions.
- Adaptation to 4:2:2
Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr >
cherry picked from commit f518bb22531c648f1c37f978b0c7ad2e71e04c25
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-28 00:55:44 +02: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 and Michael Niedermayer
22e9fe06eb
doc/examples/muxing: add alloc_audio_frame() and use it to simplify code.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-27 01:15:39 +02: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 and Michael Niedermayer
d7e162d46b
hevcdsp: remove an unneeded variable in the loop filter
...
beta0 and beta1 will always be the same within a CU
Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr >
cherry picked from commit 4a23d824741a289c7d2d2f2871d1e2621b63fa1b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-22 16:27:26 +02:00
Anton Khirnov and Michael Niedermayer
ae2f048fd7
avcodec/x86/hevc_deblock: cosmetics
...
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-22 16:18:05 +02:00
Anton Khirnov and Michael Niedermayer
b435043abb
hevc: cleanups in SSE2 and SSSE3 loop filters, use fewer instructions
...
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-22 16:17:29 +02:00
Anton Khirnov and Michael Niedermayer
e8581b17a8
avcodec/x86/hevc_deblock: use test instead of cmp 0
...
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-22 16:16:05 +02:00
Anton Khirnov and Michael Niedermayer
dc69247de4
avcodec/x86/hevc_deblock: use of paddw instead of psllw
...
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-22 16:14:53 +02:00
Anton Khirnov and Michael Niedermayer
500a0394d5
avcodec/x86/hevc_deblock: add %ifs to avoid "do nothing instructions"
...
cherry picked from commit f7843356253459e6010320292dbbc1e888a5249b
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-22 16:13:28 +02:00
Anton Khirnov and Michael Niedermayer
7a4cf67117
hevc: cleaning up SSE2 and SSSE3 deblocking filters
...
Signed-off-by: Mickaël Raulet <mraulet@insa-rennes.fr >
cherry picked from commit b432041d7d1eca38831590f13b4e5baffff8186f
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2014-07-22 16:00:48 +02: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