Michael Niedermayer
aa6c43f3fd
avcodec/ffv1: seperate slice_count from max_slice_count
...
Fix segfault with too large slice_count
Fixes Ticket4879
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Michael Niedermayer
72db5e96fc
avcodec/ffv1enc: Fix error message when the requested version does not support the requested features
...
Found-by: "Peter B." <pb@das-werkstatt.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 years ago
Hendrik Leppkes
5d8e836d0e
Replace all remaining occurances of step/depth_minus1 and offset_plus1
9 years ago
Timothy Gu
f0af25ae11
ffv1: Add missing ff_ prefixes
10 years ago
Vittorio Giovara
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years ago
Vittorio Giovara
def97856de
lavc: AV-prefix all codec capabilities
...
Express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years ago
Vittorio Giovara
7c6eb0a1b7
lavc: AV-prefix all codec flags
...
Convert doxygen to multiline and express bitfields more simply.
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
10 years ago
Michael Niedermayer
e36db49b7b
avcodec: Add a min size parameter to ff_alloc_packet2()
...
This parameter can be used to inform the allocation code about how much
downsizing might occur, and can be used to optimize how to allocate the
packet
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
10 years ago
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
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
75c1ed2e4c
ffv1enc: Use input frame to set SAR and interlacing
10 years ago
Vittorio Giovara
10a9149de2
ffv1enc: Keep coded_frame.key_frame a write-only variable
10 years ago
Michael Niedermayer
749f85496c
avcodec/ffv1enc: fix assertion failure with unset bits per raw sample
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
10 years ago
Michael Niedermayer
3a6a8f6ee1
avcodec/ffv1enc: fix bps for >8bit yuv when not explicitly set
...
Fixes Ticket4636
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
4b8a819496
avcodec/ffv1enc: set bits_per_raw_sample for 8bit based formats
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
81e40c26e1
avcodec/ffv1enc: Ensure that bits per raw sample is valid
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Vittorio Giovara
6a85dfc830
lavc: Replace av_dlog and tprintf with internal macros
10 years ago
Carl Eugen Hoyos
bf4bd427dd
lavc/ffv1enc: Auto-select -coder 1 for >8bit also for yuv.
...
Reported-by: Christoph Gerstbauer
10 years ago
Michael Niedermayer
fbae0ac3e4
avcodec/ffv1enc: Use av_clip_uint8()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
9198397115
avcodec/ffv1enc: Fix incompatible pointer type warning
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Diego Biurrun
0352ff102d
ffv1: const correctness for encode_rgb_frame()
...
libavcodec/ffv1enc.c:922:53: warning: passing argument 5 of ‘encode_rgb_frame’ discards ‘const’ qualifier from pointer target type
10 years ago
Vittorio Giovara
6abe7edabb
ffv1: fix out-of-bounds read
...
CC: libav-stable@libav.org
Bug-Id: CID 1047234
10 years ago
Reimar Döffinger
6724254118
ffv1enc: reduce stack usage.
...
A bit more complex than e.g. adding it to the context, but
using the context for something that will be used only during
initialization seemed a bit wasteful.
Signed-off-by: Reimar Döffinger <Reimar.Doeffinger@gmx.de>
11 years ago
Michael Niedermayer
947ed8f292
avcodec/ffv1enc: allocate padding for extradata
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Lukasz Marek
a91d9e4b63
lavc/ffv1enc: add const to silent warning
...
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
9e7b477c8c
avcodec/ffv1enc: choose 1.2 by default for higher resolutions to ensure multi-threaded decodability
...
Reviewed-by: "Peter B." <pb@das-werkstatt.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
0e575c24d6
ffv1.4: use 2 coefficients for calculating the Y plane in the RCT
...
0-0.7% improved compression
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
2bdda9a15c
avcodec/ffv1enc: fix use of uninitalized variable in choose_rct_params()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
b07da13ac0
avcodec/ffv1enc: support forcing experimental 1.4 version
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
7854d2d251
avcodec/ffv1: support adjusting the g vs r + b coefficient in the RCT
...
about 1% better compression
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Anton Khirnov
a6064b12b4
ffv1: use the AVFrame API properly.
11 years ago
Michael Niedermayer
336a1902d6
avcodec/ffv1enc: Check high bpp RGB against coder type too
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
1fb3b494fa
ffv1enc: store 2pass statistics at the end
...
This reduces their size from O(n) to O(1)
Fixes Ticket3078
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
8d88ed9a1f
avcodec/ffv1enc: pass through pts
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
62533eab6f
ffv1enc: use 64bit in maxsize calculation
...
This isnt needed but it cant hurt, its also more consistent with
how its calculated a few lines before.
See: CID1108593
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Diego Biurrun
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
11 years ago
Paul B Mahol
d1a16564a2
avcodec/ffv1: YUVA(444,422,420) 9, 10 and 16 bit support
...
Signed-off-by: Paul B Mahol <onemda@gmail.com>
12 years ago
Michael Niedermayer
3576b564ec
avcodec/ffv1enc: encode slice as raw PCM in 1.4 when the buffer is too small.
...
This limits the maximum size of encoded slices more tightly
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
77f521d9e5
avcodec/ffv1enc: check encode_line()s return code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
3728603f18
avcodec/ffv1enc: update buffer check for 16bps
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
904a2864bd
avcodec/ffv1enc: fix size used for ff_alloc_packet2()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
abe76b851c
ffv1enc: Make ffv1.3 non experimental
...
The fate tests change as they used 1.2 previously
The increased size is due to:
32bit CRCs per slice by default (can be disabled),
it adds slice headers to allow decoding one slice without the others
an additional slice size field is added to make it possible to find
slices within corrupted surroundings.
these add up to about 57bit per slice more
at 50 frames and 4 slices thats 1425 byte
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
d9b0b54a5f
ffv1: rename minor to micro version
...
the version is 1.3.4 which makes 4 micro and not minor
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
2c1a215ddb
ffv1: update years in header
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
c8d89be477
ffv1enc: propagate error code from write_extradata()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
eeb3fb9e62
ffv1enc: check for malloc failure
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
23606f27f0
avcodec/ffv1enc: bump minor_version for the chroma_plane fix
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
1a01147d7a
avcodec/ffv1enc: fix chroma_plane for rgb/rgba
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Michael Niedermayer
c387c45e83
ffv1: fix plane_count at version 1.4
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago
Carl Eugen Hoyos
0915b531bc
Rename "AVClass class" as "AVClass component_class".
...
The aix header math.h defines "extern int class()" for C.
12 years ago