Justin Ruggles
b6e8ff72ea
alacenc: consolidate bitstream writing into a single function.
...
Simplifies use of verbatim mode.
2012-02-11 12:49:22 -05:00
Justin Ruggles
b590f3a7bf
alacenc: only encode frame size in header for a final smaller frame
...
Otherwise it is not needed because it matches the frame size as encoded in
the extradata.
2012-02-11 12:49:22 -05:00
Justin Ruggles
ba821b098b
alacenc: store current frame size in AlacEncodeContext.
...
This avoids an indirection and will simplify implementation of encode2()
2012-02-11 12:49:22 -05:00
Justin Ruggles
65d15aec77
alacenc: return AVERROR codes in alac_encode_frame()
2012-02-11 12:49:22 -05:00
Justin Ruggles
302daf5800
alacenc: calculate a new max frame size for the final small frame
...
Gives a better estimate of buffer requirements and a better decision of
whether or not to use verbatim mode.
2012-02-11 12:49:22 -05:00
Justin Ruggles
fc9cf0b2a6
alacenc: pretty-printing and other cosmetics
2012-02-11 12:49:22 -05:00
Justin Ruggles
51c2483862
alacenc: fix error handling and potential memleaks in alac_encode_init()
2012-02-11 12:49:22 -05:00
Justin Ruggles
6e63228323
alacenc: do not set coded_frame->key_frame
...
It is already set in avcodec_alloc_frame()
2012-02-11 12:49:21 -05:00
Justin Ruggles
64fe3eaeb3
alacenc: do not set bits_per_coded_sample
...
encoded ALAC does not have a fixed number of bits per sample
2012-02-11 12:49:21 -05:00
Justin Ruggles
43a4cb070b
alacenc: remove unneeded frame_size check in alac_encode_frame()
2012-02-11 12:49:21 -05:00
Ronald S. Bultje
7416d61036
tta: error out if samplerate is zero.
...
Prevents a division by zero later on.
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-11 08:13:53 -08:00
Justin Ruggles
6ab681a4c1
ttadec: fix invalid free when an error occurs while decoding 24-bit tta
2012-02-10 20:35:10 -05:00
Justin Ruggles
9d7cee50aa
wavpack: add needed braces for 2 statements inside an if block
2012-02-10 20:27:55 -05:00
Paul B Mahol
f98ede7e61
v210enc: remove redundant check for pix_fmt
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-10 15:59:23 -05:00
Paul B Mahol
c388558d31
wavpack: allow user to disable CRC checking
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-10 15:54:08 -05:00
Aneesh Dogra
eeb9e61a51
v210enc: Use Bytestream2 functions
...
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-10 15:38:24 -05:00
Paul B Mahol
dcd2b55e1a
Check AVCodec.pix_fmts in avcodec_open2()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
2012-02-10 13:24:37 -05:00
Alex Converse
9e1db721c4
svq3: Prevent illegal reads while parsing extradata.
...
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
2012-02-10 09:57:39 -08:00
Rafaël Carré
b24aaabd44
remove ParseContext1
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-10 15:48:52 +01:00
Rafaël Carré
797639dcfd
vc1: use ff_parse_close
...
It works as long as ParseContext is the first member of the private struct
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-10 15:48:52 +01:00
Rafaël Carré
07554ace70
mpegvideo parser: move specific fields into private context
...
This obviates using ParseContext1, which is slated for removal.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-10 15:48:51 +01:00
Rafaël Carré
e40924887a
mpeg4video parser: move specific fields into private context
...
This obviates using ParseContext1, which is slated for removal.
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-10 15:48:51 +01:00
Rafaël Carré
53a09964f0
cavs parser: fix parser context type
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-10 15:48:51 +01:00
Yordan Makariev
0c5d78a898
4xm, timefilter: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-10 15:48:50 +01:00
Ronald S. Bultje
45b7bd7c53
h264: disallow constrained intra prediction modes for luma.
...
Conversion of the luma intra prediction mode to one of the constrained
("alzheimer") ones can happen by crafting special bitstreams, causing
a crash because we'll call a NULL function pointer for 16x16 block intra
prediction, since constrained intra prediction functions are only
implemented for chroma (8x8 blocks).
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
2012-02-09 22:57:01 -08:00
Alex Converse
81749f30cd
dv: Move tables from dvdata.h to dvdata.c
2012-02-09 19:16:15 -08:00
Alex Converse
8dbdc2d840
dv: Move a table used only by the demuxer out of a shared header.
2012-02-09 19:16:15 -08:00
Alex Converse
89c9a8d3fd
dv: Move functions used only by the encoder out of a shared header.
2012-02-09 19:16:15 -08:00
Alex Converse
3746072712
dv: Split dvdata.h into dvdata.h and dvquant.h
2012-02-09 19:16:15 -08:00
Justin Ruggles
b758cf7343
avcodec: set avpkt->size to 0 if encode2() did not output a packet
2012-02-09 21:51:41 -05:00
Justin Ruggles
a75bc764ec
avcodec: for audio encoding, set packet dts to packet pts.
...
There are no audio encoders which do frame reordering.
2012-02-09 21:51:29 -05:00
Justin Ruggles
d483bb58c3
ac3dsp: do not use pshufb in ac3_extract_exponents_ssse3()
...
We need to do unsigned saturation in order to cover the corner case when the
absolute coefficient value is 16777215 (the maximum value).
Fixes Bug #216
2012-02-09 21:04:44 -05:00
Michael Niedermayer
e6d9fa66f1
ac3dec: Move center and surround mix level tables to the parser.
...
That way all mix levels as exported by avpriv_ac3_parse_header()
will have the same meaning.
Previously the 3-bit center mix level for E-AC-3 was used to index in a
4-entry table, leading to out-of-array reads.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2012-02-09 16:36:02 -08:00
Alex Converse
7b05025856
aacdec: Unify preconfigured layout and PCE layout.
2012-02-09 13:33:07 -08:00
Alex Converse
f1ecd0802d
aacdec: Support native channel layout when requested.
2012-02-09 13:33:07 -08:00
Alex Converse
37bed6ff3f
aacdec: Try to sniff a reasonable channel layout for PCE based configurations.
...
This changes the output order of multichannel PCE based streams.
2012-02-09 13:33:06 -08:00
Martin Storsjö
e7d4a2a721
libavcodec: Don't do av_free(av_malloc(0)) for bitstream filters
...
This fixes crashes on exit when closing a bitstream filter that
hasn't allocated any private data, on OS X.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-02-09 23:13:50 +02:00
Janne Grunau
c57fe49da8
eac3dec: replace undefined 1<<31 with INT32_MIN in noise generation
2012-02-09 21:28:37 +01:00
Ronald S. Bultje
73e15e8e6b
prores: specify array size outside DECLARE_ALIGNED brackets.
2012-02-09 11:07:12 -08:00
Paul B Mahol
9aff2d1753
tta: use skip_bits_long()
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-09 17:10:26 +01:00
Diego Biurrun
f769cfedd8
build: Add missing directories to DIRS declarations.
2012-02-09 12:26:48 +01:00
Diego Biurrun
aa06d65693
arm: Add missing #include to vp8.h to fix a make checkheaders warning.
2012-02-09 12:26:47 +01:00
Diego Biurrun
0bba26466f
cosmetics: Delete empty lines at end of file.
2012-02-09 12:26:45 +01:00
Aneesh Dogra
ab9ae40152
bytestream: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-02-09 11:37:14 +01:00
Anton Khirnov
cd1ad18a65
rawenc: switch to encode2().
...
This changes a number of FATE results, since before this commit, the
timestamps in all tests using rawenc were made up by lavf.
In most cases, the previous timestamps were completely bogus.
In some other cases -- raw formats, mostly h264 -- the new timestamps
are bogus as well. The only difference is that timestamps invented by
the muxer are replaced by timestamps invented by the demuxer.
cscd -- avconv sets output codec timebase from r_frame_rate
and r_frame_rate is in this case some guessed number 31.42 (377/12),
which is not accurate enough to represent all timestamps. This results
in some frames having duplicate pts. Therefore, vsync 0 needs to be
changed to vsync 2 and avconv drops two frames. A proper fix in the
future would be to set output timebase to something saner in avconv.
nuv -- previous timestamps for video were wrong AND the cscd
comment applies, one frame is dropped.
vp8-signbias -- the file contains two frames with identical timestamps,
so -vsync 0 needs to be removed/changed to -vsync 2 and avconv drops one
frame.
vc1-ism -- apparrently either the demuxer lies about timestamps or the
file is broken, since dts == pts on all packets, but reordering clearly
takes place.
2012-02-08 21:51:24 +01:00
Anton Khirnov
38d5533228
pixdesc: mark pseudopaletted formats with a special flag.
...
This makes it possible to dintinguish them from PAL8.
Fixes an invalid write in avpicture_layout().
2012-02-08 21:01:31 +01:00
Anton Khirnov
06484d0b8a
libx264: implement encode2().
2012-02-08 20:59:07 +01:00
Anton Khirnov
05d699222d
libx264: split extradata writing out of encode_nals().
...
This is done in preparation for the following patch.
2012-02-08 20:58:48 +01:00
Anton Khirnov
52f82a1148
lavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacket
...
Deprecate avcodec_encode_video().
2012-02-08 20:54:24 +01:00
Ronald S. Bultje
ce1e250ee9
h264: manually save/restore XMM registers for functions using INIT_MMX.
...
On Win64, these registers are callee-save, so not saving/restoring them
correctly is a violation of ABI and can lead to crashes or corrupt data.
2012-02-08 10:31:14 -08:00