summaryrefslogtreecommitdiffstats
path: root/libavcodec
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit '47e5a98174eb9c07ad17be71df129719d60ec8b7'Michael Niedermayer2013-04-202-7/+11
|\ | | | | | | | | | | | | | | | | | | | | * commit '47e5a98174eb9c07ad17be71df129719d60ec8b7': ppc: hpeldsp: Move half-pel assembly from dsputil to hpeldsp Conflicts: libavcodec/hpeldsp.h libavcodec/ppc/hpeldsp_altivec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * ppc: hpeldsp: Move half-pel assembly from dsputil to hpeldspRonald S. Bultje2013-04-195-421/+470
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '8db00081a37d5b7e23918ee500bb16bc59b57197'Michael Niedermayer2013-04-205-17/+11
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '8db00081a37d5b7e23918ee500bb16bc59b57197': x86: hpeldsp: Move half-pel assembly from dsputil to hpeldsp Conflicts: libavcodec/hpeldsp.c libavcodec/hpeldsp.h libavcodec/x86/Makefile libavcodec/x86/dsputil_mmx.c libavcodec/x86/hpeldsp_init.c libavcodec/x86/hpeldsp_rnd_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * x86: hpeldsp: Move half-pel assembly from dsputil to hpeldspRonald S. Bultje2013-04-1910-657/+962
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '28bc406c84b04a5f1458b90ff52ddbec73e46202'Michael Niedermayer2013-04-201-3/+3
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * commit '28bc406c84b04a5f1458b90ff52ddbec73e46202': mjpeg: Use hpeldsp instead of dsputil for half-pel functions svq1enc: Use hpeldsp instead of dsputil for half-pel functions Conflicts: configure libavcodec/mjpegdec.c libavcodec/svq1enc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mjpeg: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-192-4/+7
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * svq1enc: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-191-6/+10
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '2f6bc5f7c193477c2ebc0acce8f2d5551445e129'Michael Niedermayer2013-04-201-3/+5
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '2f6bc5f7c193477c2ebc0acce8f2d5551445e129': svq3: Use hpeldsp instead of dsputil for half-pel functions mpegvideo: Use hpeldsp instead of dsputil for half-pel functions svq1: Use hpeldsp instead of dsputil for half-pel functions mimic: Use hpeldsp instead of dsputil for half-pel functions Conflicts: configure libavcodec/motion_est.c libavcodec/mpegvideo.c libavcodec/mpegvideo.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * svq3: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-191-7/+10
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * mpegvideo: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-196-36/+40
| | | | | | | | | | | | This also converts vc1, since that is mpegvideo-based. Signed-off-by: Martin Storsjö <martin@martin.st>
| * svq1: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-191-11/+11
| | | | | | | | | | | | This makes svq1 independent of dsputil. Signed-off-by: Martin Storsjö <martin@martin.st>
| * mimic: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-191-2/+5
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '8071264f2196d71ff49c3944c33f8d3d83f548f1'Michael Niedermayer2013-04-201-4/+4
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '8071264f2196d71ff49c3944c33f8d3d83f548f1': interplayvideo: Use hpeldsp instead of dsputil for half-pel functions bink: Use hpeldsp instead of dsputil for half-pel functions indeo3: Use hpeldsp instead of dsputil for half-pel functions vp56: Use hpeldsp instead of dsputil for half-pel functions vp3: Use hpeldsp instead of dsputil for half-pel functions Conflicts: libavcodec/bink.c libavcodec/indeo3.c libavcodec/vp56.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * interplayvideo: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-191-5/+5
| | | | | | | | | | | | This makes interplayvideo independent of dsputil. Signed-off-by: Martin Storsjö <martin@martin.st>
| * bink: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-191-7/+10
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
| * indeo3: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-191-8/+8
| | | | | | | | | | | | This makes the Indeo 3 decoder independent of dsputil. Signed-off-by: Martin Storsjö <martin@martin.st>
| * vp56: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-192-9/+10
| | | | | | | | | | | | This makes vp5 and vp6 independent of dsputil. Signed-off-by: Martin Storsjö <martin@martin.st>
| * vp3: Use hpeldsp instead of dsputil for half-pel functionsRonald S. Bultje2013-04-191-4/+5
| | | | | | | | | | | | This makes vp3 independent of dsputil. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '68d8238cca52e50e8cc81bf2edcaf8088c52d4c0'Michael Niedermayer2013-04-202-8/+12
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * commit '68d8238cca52e50e8cc81bf2edcaf8088c52d4c0': hpeldsp: Add half-pel functions (currently copies of dsputil) Conflicts: libavcodec/hpeldsp.c libavcodec/hpeldsp.h libavcodec/hpeldsp_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * hpeldsp: Add half-pel functions (currently copies of dsputil)Ronald S. Bultje2013-04-196-6/+416
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | vc1dec: Fix tff == 0 handling in init_block_index()Michael Niedermayer2013-04-201-1/+1
| | | | | | | | | | | | This fixes several files from VLC ticket5887 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | vc1dec: Fix non pullup tffMichael Niedermayer2013-04-201-0/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | h264: remove unused variableMichael Niedermayer2013-04-201-1/+1
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/gifdec: add loop support.Clément Bœsch2013-04-201-0/+2
| | | | | | | | Loop is ignored by default.
* | lavc/gif: miscellaneous cosmetics.Clément Bœsch2013-04-191-10/+6
| |
* | lavc/gif: add flag to enable transparency detection between frames.Clément Bœsch2013-04-191-6/+66
| | | | | | | | | | | | | | | | | | | | While this is not always optimal, in practice most of the common cases are. ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 45 -vf scale=320:160 -gifflags -transdiff -frames:v 50 -y bbb-notrans.gif ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 45 -vf scale=320:160 -gifflags +transdiff -frames:v 50 -y bbb-trans.gif -rw-r--r-- 1 ubitux ubitux 1.1M Apr 19 19:00 bbb-notrans.gif -rw-r--r-- 1 ubitux ubitux 378K Apr 19 19:00 bbb-trans.gif
* | lavc/gif: make possible to disable offsetting.Clément Bœsch2013-04-191-1/+24
| |
* | Merge commit '5e83d9aced2fc2b2e1360452794c58aba55d497c'Michael Niedermayer2013-04-196-50/+106
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | * commit '5e83d9aced2fc2b2e1360452794c58aba55d497c': h264: fully support cropping. Conflicts: doc/APIchanges libavcodec/h264.c libavcodec/h264_ps.c libavcodec/options_table.h libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * h264: fully support cropping.Anton Khirnov2013-04-196-39/+105
| | | | | | | | | | | | Based on a patch by Vittorio Giovara <vittorio.giovara@gmail.com> Fixes Bug 378.
* | avcodec: Fix lowres handling in buffer allocationMichael Niedermayer2013-04-191-2/+2
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'a7f46586bf47174b5fa00a905b767b1781ec8b72'Michael Niedermayer2013-04-191-5/+13
|\ \ | |/ | | | | | | | | | | * commit 'a7f46586bf47174b5fa00a905b767b1781ec8b72': ff_get_buffer(): allocate the frame for max(coded,display) dimensions Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * ff_get_buffer(): allocate the frame for max(coded,display) dimensionsAnton Khirnov2013-04-191-5/+13
| | | | | | | | Needed e.g. for h264 cropping to work properly.
* | avcodec/mpegvideo_motion: Use a field from the current frame if the last is ↵Michael Niedermayer2013-04-191-2/+5
| | | | | | | | | | | | | | | | | | unavailable in DMV & 16x8 Fixes null pointer dereference Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | x86: sbrdsp: implement SSE2 hf_apply_noiseChristophe Gisquet2013-04-193-1/+136
| | | | | | | | | | | | | | | | | | 233 to 105 cycles on Arrandale and Win64. Replacing the multiplication by s_m[m] by a pand and a pxor with appropriate vectors is slower. Unrolling is a 15 cycles win. A SSE version was 4 cycles slower. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc: add AV_CODEC_PROP_TEXT_SUB.Clément Bœsch2013-04-193-1/+23
| | | | | | | | CC are not marked. Also allow potential mixed types later.
* | gif: use only one graphic control extension block per image.Clément Bœsch2013-04-191-23/+6
| | | | | | | | | | | | | | | | | | | | The encoder now doesn't produce any extra graphic control extension block anymore. Only the image is encoded, and the muxer writing its own GCE containing notably the timing information now includes the optional palette transmitted through packet side data. This commit avoid setting clashes between the two GCE, and reduce the size of the generated file with pal8 output.
* | lavc/utils: merge side data after video encode.Clément Bœsch2013-04-191-0/+2
| | | | | | | | This allows encoders to communicate side data to the muxers.
* | Fix multithreaded MPEG-4 decoding.Reimar Döffinger2013-04-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Regression since c10d498bfd246a40cc7830838b74e18a79418839. Unfortunately ff_thread_get_format can only be called from a separate decode thread, running it during init will fail. Fixes for that are welcome, for now just revert back to calling avctx->get_format directly, which is correct but having to decide on a case-by-case basis which approach to use is a bit messy. Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
* | subtitles: introduce ASS codec id and use it.Clément Bœsch2013-04-189-16/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we have a AV_CODEC_ID_SSA, which matches the way the ASS/SSA markup is muxed in a standalone .ass/.ssa file. This means the AVPacket data starts with a "Dialogue:" string, followed by a timing information (start and end of the event as string) and a trailing CRLF after each line. One packet can contain several lines. We'll refer to this layout as "SSA" or "SSA lines". In matroska, this markup is not stored as such: it has no "Dialogue:" prefix, it contains a ReadOrder field, the timing information is not in the payload, and it doesn't contain the trailing CRLF. See [1] for more info. We'll refer to this layout as "ASS". Since we have only one common codec for both formats, the matroska demuxer is constructing an AVPacket following the "SSA lines" format. This causes several problems, so it was decided to change this into clean ASS packets. Some insight about what is changed or unchanged in this commit: CODECS ------ - the decoding process still writes "SSA lines" markup inside the ass fields of the subtitles rectangles (sub->rects[n]->ass), which is still the current common way of representing decoded subtitles markup. It is meant to change later. - new ASS codec id: AV_CODEC_ID_ASS (which is different from the legacy AV_CODEC_ID_SSA) - lavc/assdec: the "ass" decoder is renamed into "ssa" (instead of "ass") for consistency with the codec id and allows to add a real ass decoder. This ass decoder receives clean ASS lines (so it starts with a ReadOrder, is followed by the Layer, etc). We make sure this is decoded properly in a new ass-line rectangle of the decoded subtitles (the ssa decoder OTOH is doing a simple straightforward copy). Using the packet timing instead of data string makes sure the ass-line now contains the appropriate timing. - lavc/assenc: just like the ass decoder, the "ssa" encoder is renamed into "ssa" (instead of "ass") for consistency with the codec id, and allows to add a real "ass" encoder. One important thing about this encoder is that it only supports one ass rectangle: we could have put several dialogue events in the AVPacket (separated by a \0 for instance) but this would have cause trouble for the muxer which needs not only the start time, but also the duration: typically, you have merged events with the same start time (stored in the AVPacket->pts) but a different duration. At the moment, only the matroska do the merge with the SSA-line codec. We will need to make sure all the decoders in the future can't add more than one rectangle (and only one Dialogue line in it obviously). FORMATS ------- - lavf/assenc: the .ass/.ssa muxer can take both SSA and ASS packets. In the case of ASS packets as input, it adds the timing based on the AVPacket pts and duration, and mux it with "Dialogue:", trailing CRLF, etc. - lavf/assdec: unchanged; it currently still only outputs SSA-lines packets. - lavf/mkv: the demuxer can now output ASS packets without the need of any "SSA-lines" reconstruction hack. It will become the default at next libavformat bump, and the SSA support will be dropped from the demuxer. The muxer can take ASS packets since it's muxed normally, and still supports the old SSA packets. All the SSA support and hacks in Matroska code will be dropped at next lavf bump. [1]: http://www.matroska.org/technical/specs/subtitles/ssa.html
* | avcodec/mpegvideo_motion: Check P field referencesMichael Niedermayer2013-04-181-1/+2
| | | | | | | | | | | | | | | | | | If a reference is unavailable use a field from the current picture Fixes null pointer dereference Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | svq3: use memmove to avoid overlap in memcpy.Michael Niedermayer2013-04-181-2/+2
| | | | | | | | | | Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | evrcdec: use memmove() instead of memcpy() when regions can overlap.Michael Niedermayer2013-04-181-4/+4
| | | | | | | | | | | | | | This occurs also with valid files. Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavc/gif: avoid encoding 0x0 images.Clément Bœsch2013-04-181-2/+2
| | | | | | | | It seems browsers don't like it very much.
* | avcodec/bitstream: check codes in ff_init_vlc_sparse()Michael Niedermayer2013-04-181-0/+4
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avcodec/bitstream: Check bits in ff_init_vlc_sparse()Michael Niedermayer2013-04-181-0/+4
| | | | | | | | | | | | | | Fixes out of array reads Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | xan: Check for overlapping copiesMichael Niedermayer2013-04-181-0/+6
| | | | | | | | | | | | | | No valid samples i found use such copies Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | gif: remove outdated comments.Clément Bœsch2013-04-181-10/+4
| |
* | lavc/gif: return more meaningful error code.Clément Bœsch2013-04-181-1/+1
| |
* | lavc/gif: merge two allocation checks.Clément Bœsch2013-04-181-4/+2
| |
* | gif: reindent after previous commits.Clément Bœsch2013-04-181-1/+1
| |
OpenPOWER on IntegriCloud