summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* rawenc: switch to encode2().Anton Khirnov2012-02-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* pixdesc: mark pseudopaletted formats with a special flag.Anton Khirnov2012-02-08
| | | | | | This makes it possible to dintinguish them from PAL8. Fixes an invalid write in avpicture_layout().
* avconv: switch to avcodec_encode_video2().Anton Khirnov2012-02-08
|
* libx264: implement encode2().Anton Khirnov2012-02-08
|
* libx264: split extradata writing out of encode_nals().Anton Khirnov2012-02-08
| | | | This is done in preparation for the following patch.
* lavc: add avcodec_encode_video2() that encodes from an AVFrame -> AVPacketAnton Khirnov2012-02-08
| | | | Deprecate avcodec_encode_video().
* cmdutils: update copyright year to 2012.Ronald S. Bultje2012-02-08
|
* swscale: sign-extend integer function argument to qword on x86-64.Ronald S. Bultje2012-02-08
|
* x86inc: support yasm -f win64 flag also.Haruhiko Yamagata2012-02-08
| | | | | | | This sets __OUTPUT_FORMAT__ to win64 instead of win32, even though both (through -m amd64) produce 64-bit binary code. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* h264: manually save/restore XMM registers for functions using INIT_MMX.Ronald S. Bultje2012-02-08
| | | | | 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.
* x86inc: allow manual use of WIN64_SPILL_XMM.Henrik Gramner2012-02-08
| | | | | | | | Functions using INIT_MMX may still access XMM registers through direct means (xmm0-15). Therefore, they still need to be marked for clobber so they can be properly saved/restored. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* aacdec: Use correct speaker order for 7.1.Alex Converse2012-02-08
| | | | | | | | | The spec says the following speaker mapping is default: center front speaker left, right center front speakers, left, right outside front speakers, left surround, right surround rear speakers, front low frequency effects speaker
* aacdec: Remove incorrect comment.Alex Converse2012-02-08
| | | | It was only correct when element ids met very specific criteria.
* aacdec: Simplify output configuration.Alex Converse2012-02-08
|
* Remove Sun medialib glue code.Diego Biurrun2012-02-08
| | | | | It is obscure, most likely unused and not bit-exact compared to libavcodec due to a different IDCT transform algorithm.
* dsputil: set STRIDE_ALIGN to 16 for x86 also.Ronald S. Bultje2012-02-07
| | | | | | This fixes crashes in e.g. PNG decoding with SSE2 enabled. In fact, many x86 optimizations for codecs assume that our buffer strides are 16-byte aligned.
* pngdsp: swap argument inversion.Ronald S. Bultje2012-02-07
|
* swscale: make yuv2yuv1 use named registers.Ronald S. Bultje2012-02-07
|
* h264: mark h264_idct_add8_10 with number of XMM registers.Michael Kostylev2012-02-07
| | | | | | This fixes XMM register clobber problems on Win64. Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* swscale: fix V plane memory location in bilinear/unscaled RGB/YUYV case.Ronald S. Bultje2012-02-07
| | | | | | Fixes bug 221. CC: libav-stable@libav.org
* vp8: always update next_framep[] before returning from decode_frame().Ronald S. Bultje2012-02-07
| | | | | | | | | | Also slightly move around code not allocate a new frame if we won't decode it. This prevents us from putting undecoded frames in frame pointers, which (in mt decoding) other threads will use and wait on as references, causing a deadlock (if we skipped decoding) or a crash (if we didn't initialized next_framep[] at all). Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
* avconv: estimate next_dts from framerate if it is set.Anton Khirnov2012-02-07
|
* avconv: better next_dts usage.Anton Khirnov2012-02-07
| | | | | | | | next_dts is used for estimating the dts of the next packet if it's missing. Therefore, it makes no sense to set it from the pts of the last decoded frame. Also it should be estimated from the current packet duration/ticks_per_frame always, not only when a frame was successfully decoded.
* avconv: rename InputStream.pts to last_dts.Anton Khirnov2012-02-07
| | | | It more accurately describes what does this variable store.
* avconv: reduce overloading for InputStream.pts.Anton Khirnov2012-02-07
| | | | | | It currently has different meanings at different times (dts of the last read packet/pts of the last decoded frame). Reduce obfuscation by storing pts of the decoded frame in the frame itself.
* avconv: rename InputStream.next_pts to next_dts.Anton Khirnov2012-02-07
| | | | It's used to predict dts, not pts.
* avconv: rework -t handling for encoding.Anton Khirnov2012-02-07
| | | | | | | | | | | | | Current code compares the desired recording time with InputStream.pts, which has a very unclear meaning. Change the code to use actual timestamps of the frames passed to the encoder. In several tests, one less frame is encoded, which is more correct. In the idroq test one more frame is encoded, which is again more correct. Behavior with stream copy should be unchanged.
* avconv: set encoder timebase for subtitles.Anton Khirnov2012-02-07
| | | | | | The actual number (1/1000) will probably require some discussion/tweaking in the future, but should be good enough for now, since the timestamps in AVSubtitle are in this timebase by definition.
* pva-demux test: add -vnAnton Khirnov2012-02-07
| | | | | | The output is obviously not supposed to contain video (since only -acodec copy is specified), but that only happens because of the way -t handling is implemented currently.
* swscale: K&R formatting cosmetics for SPARC codeDiego Biurrun2012-02-07
|
* apedec: allow the user to set the maximum number of output samples per callJustin Ruggles2012-02-07
| | | | | | | It makes sense in some cases to split up the output packet to save on memory usage (ape frames can be very large), but the current/default size is arbitrary. Allowing the user to configure this gives more flexibility and requires minimal additional code.
* apedec: do not unnecessarily zero output samples for mono framesJustin Ruggles2012-02-07
|
* apedec: allocate a single flat buffer for decoded samplesJustin Ruggles2012-02-07
| | | | | This will allow the decoder to return samples for the full packet, and it also makes the decoded buffer pointers aligned.
* apedec: use sizeof(field) instead of sizeof(type)Justin Ruggles2012-02-07
|
* swscale: split C output functions into separate file.Ronald S. Bultje2012-02-07
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* swscale: Split C input functions into separate file.Ronald S. Bultje2012-02-07
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* bytestream: Add bytestream2 writing API.Aneesh Dogra2012-02-06
| | | | Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com>
* Revert "v210enc: use FFALIGN()"Paul B Mahol2012-02-06
| | | | | | | | | FFALIGN doesn't work with non-powers-of-2. This reverts commit 7ad1b612c8a2a1b1b47f6c3c580ced4bca17e1c7. Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* doxygen: Do not include license boilerplates in Doxygen comment blocks.Diego Biurrun2012-02-06
|
* avplay: reset decoder flush state when seekingJustin Ruggles2012-02-06
| | | | | Fixes seeking after decoder has already been flushed for codecs using CODEC_CAP_DELAY.
* ape: skip packets with invalid sizeJustin Ruggles2012-02-06
|
* ape: calculate final packet size instead of guessingJustin Ruggles2012-02-06
| | | | | | | Calculates based on total file size and wavetaillength from the header. Falls back to multiplying finalframeblocks by 8 instead of 4 so that it will at least be overestimating for 24-bit. Currently it can underestimate the final packet size, leading to decoding errors.
* ape: stop reading after the last frame has been readJustin Ruggles2012-02-06
| | | | This avoids buffer overread when the last packet size estimate is too small.
* ape: return AVERROR_EOF instead of AVERROR(EIO) when demuxing is finishedJustin Ruggles2012-02-06
|
* ape: return error if seeking to the current packet fails in ape_read_packet()Justin Ruggles2012-02-06
|
* avcodec: Clarify AVFrame member documentation.Kieran Kunhya2012-02-06
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* v210dec: check for coded_frame allocation failurePaul B Mahol2012-02-06
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* v210enc: use stride as it is already calculatedPaul B Mahol2012-02-06
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* v210enc: use FFALIGN()Paul B Mahol2012-02-06
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>
* v210enc: return proper AVERROR codes instead of -1Paul B Mahol2012-02-06
| | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net>