Vittorio Giovara
40cf1bbacc
Deprecate avctx.coded_frame
...
The rationale is that coded_frame was only used to communicate key_frame,
pict_type and quality to the caller, as well as a few other random fields,
in a non predictable, let alone consistent way.
There was agreement that there was no use case for coded_frame, as it is
a full-sized AVFrame container used for just 2-3 int-sized properties,
which shouldn't even belong into the AVCodecContext in the first place.
The appropriate AVPacket flag can be used instead of key_frame, while
quality is exported with the new AVPacketSideData quality factor.
There is no replacement for the other fields as they were unreliable,
mishandled or just not used at all.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years ago
Vittorio Giovara
5d3addb937
Add a quality factor packet side data
...
This is necessary to preserve the quality information currently exported
with coded_frame. Add the new side data to every encoder that needs it,
and use it in avconv.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years ago
Vittorio Giovara
d6604b29ef
Gather all coded_frame allocations and free functions to a single place
...
Allocating coded_frame is what most encoders do anyway, so it makes
sense to always allocate and free it in a single place. Moreover a lot
of encoders freed the frame with av_freep() instead of the correct API
av_frame_free().
This bring uniformity to encoder behaviour and prevents applications
from erroneusly accessing this field when not allocated. Additionally
this helps isolating encoders that export information with coded_frame,
and heavily simplifies its deprecation.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years ago
Vittorio Giovara
7fc8d8a1b3
libxvid: Do not entangle coded_frame
10 years ago
Vittorio Giovara
fef2f4722b
xvid: Check memory allocation
10 years ago
Michael Niedermayer
c949a4500e
avcodec/libxvid: remove now redundant init cleanup code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Vittorio Giovara
18db1286b0
libxvid: Make codec use the init-cleanup flag and mark it as init-thread-safe
...
This takes care of memory leaks on init error.
10 years ago
Himangi Saraogi
a1e2c47cd4
libxvid: Return meaningful error messages
10 years ago
Michael Niedermayer
e00499eb4c
avcodec/libxvid: fix potential integer overflow
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
5c95de150f
avcodec/libxvid: check for av_malloc*() failures
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Lukasz Marek
4a0b1d9245
lavc/libxvid: workaround for bug in libxvidcore
...
libxvidcore calculate number of threads basing on video height.
If height is small enough it allocates 0 bytes long memory and
writes to it.
Setting thread_count to 0 uses 1 thread and skips bugged code.
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Lukasz Marek
2a89afb376
lavc/libxvid: return meaningful error codes
...
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
10 years ago
Lukasz Marek
efe34e87eb
lavc/libxvid: fix mem leak in case of init failure
...
Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
10 years ago
Gabriel Dume
0a02426826
libxvid: K&R formatting cosmetics
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
10 years ago
Gabriel Dume
4b1f5e5090
cosmetics: Write NULL pointer inequality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Gabriel Dume
f929ab0569
cosmetics: Write NULL pointer equality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
11 years ago
Matthew Oliver
66627075d9
msvc: fix implicitly declared read/close.
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
67bc1ba5d7
libxvid: Drop PPC-specific CPU detection hack
...
It is doubtful if the hack (still) works and Xvid had ten years to fix it.
11 years ago
Michael Niedermayer
39ea21713c
avcodec/libxvid: add HAVE_UNISTD_H around #include <unistd.h>
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
e881a96632
avcodec/libxvid: improve return codes
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Anton Khirnov
6484149158
lavc: make the xvid-specific "gmc" flag a private option of libxvid
11 years ago
Vittorio Giovara
17a75a8c09
libxvid: fix missing end of line character
...
Error introduced in 5ce7ca68b8
.
11 years ago
Timothy Gu
c389a80494
libxvid: Add SSIM displaying through a libxvidcore plugin
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
11 years ago
Timothy Gu
5ce7ca68b8
libxvid: add working lumimasking and variance AQ
...
The old implementation is unusable due to changes in the Xvid API.
Further fixes by Michael Niedermayer <michaelni@gmx.at>.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
11 years ago
Carl Eugen Hoyos
ee3fc8aa86
Fix libxvid crash on failing initialisation.
...
Fixes ticket #3297 .
11 years ago
Anton Khirnov
ffe04c3303
libxvid: use the AVFrame API properly.
11 years ago
Diego Biurrun
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
11 years ago
Carl Eugen Hoyos
43353bf32c
libxvid: guess a good aspect when we cant store the exact one.
...
Based on 394781a8
.
11 years ago
Timothy Gu
3217a706e2
libxvid: Reduce the size of an array
...
It is not possible to have a plugin[] array with 5 or more elements.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
1ccc2157ff
avcodec/libxvid: Partially check plugins array size with assert
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
412df0a52f
avcodec/libxvid: set lumi_aq for lumimasking
...
Simplifies check and should fix lumi+vari warning
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Timothy Gu
b3f858b829
libxvid: cosmetics: Realign the code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Timothy Gu
3b3c1ed076
libxvid: Add SSIM displaying through a libxvidcore plugin
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Timothy Gu
ccb212b6c3
libxvid: add working lumimasking and variance AQ
...
The old implementation is unusable due to change in the Xvid API.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
4f0d4acc70
libxvid: cleanup on error pathes
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
667bf15652
libxvid: check & clear encoder_handle
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
8fe59240a1
libxvid: use av_freep() for saftey
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
6a8f6c773d
libxvid: remove temporary files at the end
...
Fixes Ticket924
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Anton Khirnov
5957aefc7c
libxvid: remove useless doxy comments.
12 years ago
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
12 years ago
Anton Khirnov
36ef5369ee
Replace all CODEC_ID_* with AV_CODEC_ID_*
13 years ago
Diego Biurrun
c8b4a3999b
libxvid: Give more suitable names to libxvid-related files.
13 years ago
Diego Biurrun
5b432d66ce
libxvid: Separate libxvid encoder from libxvid rate control code.
...
This allows compiling the Xvid rate control code without the encoder.
13 years ago
Diego Biurrun
219a9ed19e
libxvid: Reorder functions to avoid forward declarations; make functions static.
13 years ago
Diego Biurrun
679481b3b6
Drop some pointless #ifdefs.
...
The files are only compiled if the #ifdef conditions are met.
13 years ago
Martin Storsjö
00c3b67b8a
cosmetics: Align codec declarations
...
Also break some long lines, remove codec function placeholder comments
and add spaces in sample/pixel format lists.
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Diego Biurrun
a92be9b856
Replace memset(0) by zero initializations.
...
Also remove one pointless zero initialization in rangecoder.c.
13 years ago
Paul B Mahol
ae2c33b0c2
cosmetics: remove superfluous curly brackets
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Michael Niedermayer
fcd8a3c8c2
libxvidff: switch to ff_alloc_packet2().
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
13 years ago
Anton Khirnov
4da6d194e5
libxvid: switch to encode2().
13 years ago