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>
2014-09-03 21:22:58 +02:00
Michael Niedermayer
947ed8f292
avcodec/ffv1enc: allocate padding for extradata
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-18 15:58:41 +02:00
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>
2014-02-15 01:50:47 +01:00
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>
2014-01-08 13:24:37 +01:00
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>
2013-12-10 03:16:58 +01:00
Michael Niedermayer
2bdda9a15c
avcodec/ffv1enc: fix use of uninitalized variable in choose_rct_params()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-10 02:53:04 +01:00
Michael Niedermayer
b07da13ac0
avcodec/ffv1enc: support forcing experimental 1.4 version
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-09 00:39:02 +01:00
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>
2013-12-09 00:37:38 +01:00
Michael Niedermayer
be1e6e7503
Merge remote-tracking branch 'qatar/master'
...
* qatar/master:
mpegvideo_enc: use the AVFrame API properly.
ffv1: use the AVFrame API properly.
jpegls: use the AVFrame API properly.
huffyuv: use the AVFrame API properly.
Conflicts:
libavcodec/ffv1.c
libavcodec/ffv1.h
libavcodec/ffv1dec.c
libavcodec/ffv1enc.c
Changes to ffv1 are more redone than merged due to them being based on
an ancient codebase and a good part of that having being done already
as well.
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-17 13:55:50 +01:00
Anton Khirnov
a6064b12b4
ffv1: use the AVFrame API properly.
2013-11-16 17:50:51 +01:00
Michael Niedermayer
336a1902d6
avcodec/ffv1enc: Check high bpp RGB against coder type too
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-03 22:18:47 +01:00
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>
2013-11-02 22:52:52 +01:00
Michael Niedermayer
8d88ed9a1f
avcodec/ffv1enc: pass through pts
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-11-02 22:52:52 +01:00
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>
2013-10-19 23:36:35 +02:00
Michael Niedermayer
ee77140afa
Merge commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2'
...
* commit 'b2bed9325dbd6be0da1d91ffed3f513c40274fd2':
cosmetics: Group .name and .long_name together in codec/format declarations
Conflicts:
libavcodec/8svx.c
libavcodec/alac.c
libavcodec/cljr.c
libavcodec/dnxhddec.c
libavcodec/dnxhdenc.c
libavcodec/dpxenc.c
libavcodec/dvdec.c
libavcodec/dvdsubdec.c
libavcodec/dvdsubenc.c
libavcodec/ffv1dec.c
libavcodec/flacdec.c
libavcodec/flvdec.c
libavcodec/fraps.c
libavcodec/frwu.c
libavcodec/g726.c
libavcodec/gif.c
libavcodec/gifdec.c
libavcodec/h261dec.c
libavcodec/h263dec.c
libavcodec/iff.c
libavcodec/imc.c
libavcodec/libopencore-amr.c
libavcodec/libopenjpegdec.c
libavcodec/libopenjpegenc.c
libavcodec/libspeexenc.c
libavcodec/libvo-amrwbenc.c
libavcodec/libvorbisenc.c
libavcodec/libvpxenc.c
libavcodec/libx264.c
libavcodec/libxavs.c
libavcodec/libxvid.c
libavcodec/ljpegenc.c
libavcodec/mjpegbdec.c
libavcodec/mjpegdec.c
libavcodec/mpeg12dec.c
libavcodec/mpeg4videodec.c
libavcodec/msmpeg4dec.c
libavcodec/pgssubdec.c
libavcodec/pngdec.c
libavcodec/pngenc.c
libavcodec/proresdec_lgpl.c
libavcodec/proresenc_kostya.c
libavcodec/ra144enc.c
libavcodec/rawdec.c
libavcodec/rv10.c
libavcodec/sp5xdec.c
libavcodec/takdec.c
libavcodec/tta.c
libavcodec/v210dec.c
libavcodec/vp6.c
libavcodec/wavpack.c
libavcodec/xbmenc.c
libavcodec/yop.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-04 12:34:23 +02:00
Diego Biurrun
b2bed9325d
cosmetics: Group .name and .long_name together in codec/format declarations
2013-10-03 23:32:01 +02:00
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>
2013-09-09 19:49:37 +00:00
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>
2013-09-09 20:20:21 +02:00
Michael Niedermayer
77f521d9e5
avcodec/ffv1enc: check encode_line()s return code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:24 +02:00
Michael Niedermayer
3728603f18
avcodec/ffv1enc: update buffer check for 16bps
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:17 +02:00
Michael Niedermayer
904a2864bd
avcodec/ffv1enc: fix size used for ff_alloc_packet2()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-09-09 20:19:08 +02:00
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>
2013-08-26 17:33:53 +02:00
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>
2013-08-20 03:30:36 +02:00
Michael Niedermayer
2c1a215ddb
ffv1: update years in header
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 01:43:30 +02:00
Michael Niedermayer
c8d89be477
ffv1enc: propagate error code from write_extradata()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 01:43:30 +02:00
Michael Niedermayer
eeb3fb9e62
ffv1enc: check for malloc failure
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-17 01:43:30 +02:00
Michael Niedermayer
23606f27f0
avcodec/ffv1enc: bump minor_version for the chroma_plane fix
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 13:49:21 +02:00
Michael Niedermayer
1a01147d7a
avcodec/ffv1enc: fix chroma_plane for rgb/rgba
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 13:27:29 +02:00
Michael Niedermayer
c387c45e83
ffv1: fix plane_count at version 1.4
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-08-15 13:03:53 +02:00
Carl Eugen Hoyos
0915b531bc
Rename "AVClass class" as "AVClass component_class".
...
The aix header math.h defines "extern int class()" for C.
2013-06-30 13:47:45 +02:00
Michael Niedermayer
7e99d528f9
ffv1enc: Check return value of av_frame_ref()
...
Fixes CID1026740
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-06-03 14:06:25 +02:00
Anton Khirnov
e6c4ac7b5f
pixdesc: rename PIX_FMT_* flags to AV_PIX_FMT_FLAG_*
2013-05-15 07:46:51 +02:00
Michael Niedermayer
9a2153894f
ffv1enc: fix 1000l typo
...
Thanks to ubitux for spotting that
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 21:33:03 +02:00
Michael Niedermayer
bd63f8f657
ffv1enc: Fix memleak
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 21:03:54 +02:00
Michael Niedermayer
19411d32d4
ffv1enc: dont set coded_frame
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:37:20 +02:00
Michael Niedermayer
54602590d9
ffv1enc: Check the return value of ffv1_common_init()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:17:09 +02:00
Michael Niedermayer
69cfe63a43
ffv1: Switch to ThreadFrame
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-11 20:16:49 +02:00
Clément Bœsch
570d63eef3
lavu: add FF_CEIL_RSHIFT and use it in various places.
2013-05-09 16:59:42 +02:00
Michael Niedermayer
0aa095483d
Merge commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487'
...
* commit '6fee1b90ce3bf4fbdfde7016e0890057c9000487':
avcodec: Add av_cold attributes to init functions missing them
Conflicts:
libavcodec/aacpsy.c
libavcodec/atrac3.c
libavcodec/dvdsubdec.c
libavcodec/ffv1.c
libavcodec/ffv1enc.c
libavcodec/h261enc.c
libavcodec/h264_parser.c
libavcodec/h264dsp.c
libavcodec/h264pred.c
libavcodec/libschroedingerenc.c
libavcodec/libxvid_rc.c
libavcodec/mpeg12.c
libavcodec/mpeg12enc.c
libavcodec/proresdsp.c
libavcodec/rangecoder.c
libavcodec/videodsp.c
libavcodec/x86/proresdsp_init.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-05-05 11:34:29 +02:00
Diego Biurrun
6fee1b90ce
avcodec: Add av_cold attributes to init functions missing them
2013-05-04 21:09:45 +02:00
Michael Niedermayer
7f138310fb
ffv1enc: favor version 3 over 2 unless -strict -2 is set
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 22:48:13 +02:00
Michael Niedermayer
1a392fc550
ffv1: Store a flag in the global header that indicates if all frames are keyframes
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-27 16:17:29 +02:00
Michael Niedermayer
a984efd104
Merge commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f'
...
* commit 'c242bbd8b6939507a1a6fb64101b0553d92d303f':
Remove unnecessary dsputil.h #includes
Conflicts:
libavcodec/ffv1.c
libavcodec/h261dec.c
libavcodec/h261enc.c
libavcodec/h264pred.c
libavcodec/lpc.h
libavcodec/mjpegdec.c
libavcodec/rectangle.h
libavcodec/x86/idct_sse2_xvid.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-26 13:05:10 +01:00
Diego Biurrun
c242bbd8b6
Remove unnecessary dsputil.h #includes
2013-02-26 00:51:34 +01:00
Michael Niedermayer
0aa1d848ec
ffv1enc: better heuristic to calculate initial states
...
Slightly improves compression of 2pass files
Tested-by: "Peter B." <pb@das-werkstatt.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-11 19:25:41 +01:00
Michael Niedermayer
b77d94dc6c
ffv1enc: check for malloc failure
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-02-05 00:37:20 +01:00
Michael Niedermayer
c6ef7641fc
ffv1enc: fix gbrp>8bit
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-25 23:34:36 +01:00
Paul B Mahol
be38aaba4a
ffv1enc: include correct header
...
Encoder needs put_bits.h, not get_bits.h
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-01-23 11:21:09 +00:00
Michael Niedermayer
8bf16e677f
ffv1enc: allow encoding with 1 slice for CIF and smaller in version 3
...
the default is still 4 slices for any resolution, this just allows the user
to force 1 slice.
This in my quick test improves compression by 1% for a 320x240 sample
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-12-05 01:22:43 +01:00
Michael Niedermayer
c2cbc80ae9
ffv1enc: consider 2pass float rounding, fix loop
...
Found-by: "Peter B." <pb@das-werkstatt.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-16 17:01:13 +01:00