Andreas Rheinhardt
0ca016ea93
avcodec/proresenc_anatoliy: Mark encoders as init-threadsafe
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
4 years ago
Andreas Rheinhardt
a247ac640d
avcodec: Constify AVCodecs
...
Given that the AVCodec.next pointer has now been removed, most of the
AVCodecs are not modified at all any more and can therefore be made
const (as this patch does); the only exceptions are the very few codecs
for external libraries that have a init_static_data callback.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
4 years ago
Andreas Rheinhardt
d789d72d30
avcodec/proresenc_anatoliy: Fix memleak upon init error
...
A buffer may leak in case of YUVA444P10 with dimensions that are not
both divisible by 16.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
4 years ago
Andreas Rheinhardt
c81b8e04aa
Avoid intermediate bitcount for number of bytes in PutBitContext
...
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
4 years ago
Anton Khirnov
c8c2dfbc37
lavu: move LOCAL_ALIGNED from internal.h to mem_internal.h
...
That is a more appropriate place for it.
4 years ago
Michael Bradshaw
b97eb35308
avcodec/proresenc: infer array lengths
...
Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
4 years ago
Michael Bradshaw
b30f737f7a
avcodec/proresenc: add support for PQ and HLG
...
Signed-off-by: Michael Bradshaw <mjbshaw@google.com>
4 years ago
James Almer
13b1bbff0b
avcodec: deprecate Lossless and Intra Only encoder capabilites
...
Both are codec properties and not encoder capabilities. The relevant
AVCodecDescriptor.props flags exist for this purpose.
Signed-off-by: James Almer <jamrial@gmail.com>
5 years ago
Limin Wang
aa6d32ae43
Revert "avcodec/proresenc_anatoliy: support for more color matrix for proresenc"
...
This reverts commit e0eed1fd52
.
5 years ago
Limin Wang
e0eed1fd52
avcodec/proresenc_anatoliy: support for more color matrix for proresenc
...
Please tested with below command:
./ffmpeg -i ../fate-suite/mpeg2/t.mpg -c:v prores_aw -color_primaries bt2020 -colorspace bt2020_ncl -color_trc smpte2084 -an output.mov
mediainfo outout.mov
...
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
./ffmpeg -i ../fate-suite/mpeg2/t.mpg -c:v prores_aw -color_primaries bt2020 -colorspace bt2020_ncl -color_trc arib-std-b67 -an output.mov
mediainfo outout.mov
...
Color primaries : BT.2020
Transfer characteristics : HLG
Matrix coefficients : BT.2020 non-constant
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
5 years ago
Paul B Mahol
d64cbd4fda
remove CHAR_MIN/CHAR_MAX usage
...
It is not needed at all.
5 years ago
Andreas Rheinhardt
198081efb7
avcodec/proresenc_anatoliy: Fix invalid left shift of negative number
...
This fixes ticket #7997 as well as the vsynth*-prores_# FATE-tests
(where * ranges over { 1, 2, 3, _lena } and # over { , _int, _444,
_444_int }).
(Given that prev_dc is in the range -0xC000..0x3FFF, no overflow can
happen upon multiplication with 2.)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
5 years ago
Martin Vignali
26cf50404d
avcodec/proresenc_aw : fix interlace encoding for unsafe height
...
fix the call of the unsafe version of slice encoding in interlace mode
fix padding line count in sub image with fill in interlace mode
6 years ago
Martin Vignali
a3f65f5e9f
avcodec/proresenc_aw : fix sub_image_with_fill for interlaced encoding
...
used when width and/or height, not multiple of sclice dim
6 years ago
Martin Vignali
37e4c226c0
avcodec/proresenc_aw : indent after prev commit
6 years ago
Martin Vignali
132ed206d6
avcodec/proresenc_aw : add interlace encoding
6 years ago
Martin Vignali
e7cbbb7374
avcodec/proresenc_aw : merge funcs subimage_with_fill and subimage_alpha_with_fill
6 years ago
Martin Vignali
8a4a952e45
avcodec/proresenc_aw : move scantable to prores context
6 years ago
Martin Vignali
2016f9c3bc
avcodec/proresenc_aw : move picture encoding after frame header write
6 years ago
Martin Vignali
6cc8cfe30c
avcodec/proresenc_aw : simplify frame flags
6 years ago
Martin Vignali
1edaf601f3
avcodec/prores_aw : add 4444 xq support
6 years ago
Martin Vignali
bbbbf23759
avcodec/prores_aw : only set color prim, trc, space values if supported
...
set to unspecified if frame have another value
6 years ago
Martin Vignali
4141d45ae3
avcodec/prores_aw : add vendor option
...
code come from prores_ks
6 years ago
Martin Vignali
ff3b4f91cd
avcodec/prores_aw : add support for prores 444 with alpha
...
only 16b alpha is supported (not 8 bits)
following official encoder, alpha data doesn't impact
yuv plane quality.
So the alpha data encoding is done after the yuv part.
It's also avoid to loose quality in yuv part when
alpha is not uniform.
the alpha encoding funcs is mainly take from prores_ks
encoder, except for the alpha data reorganization
6 years ago
Martin Vignali
4d32c2b4e0
avcodec/prores_aw : cosmetic indent and add comment to describe frame header value
...
description are based on multimedia wiki documentation
6 years ago
Martin Vignali
105891cd58
avcodec/prores_aw : change src pix_fmt and alpha description
...
use b64a as src pix fmt (doesn't seems to have an impact on decoding)
but it's the value use by official encoder
6 years ago
Vittorio Giovara
cdc487bfc8
prores: Use profile names in the various encoders and decoders
...
Export FF_PROFILE_PRORES_* symbols publicly, add a missing one.
6 years ago
Vittorio Giovara
febaa63b0f
proresenc_anatoliy: Rename a profile name with the correct one
...
In all Apple documentation, this profile is called Prores 4444.
6 years ago
Martin Vignali
e832d769f4
avcodec/proresenc_aw : use for frame flag in the header the same value than the official encoder
6 years ago
Martin Vignali
c51b36ec8f
avcodec/proresenc_aw : add support for prores 444
6 years ago
Martin Vignali
98637be753
avcodec/prores_enc : not calculate dct a each quantif search step
...
Improve encoding speed by 2% (using prores input)
6 years ago
Martin Vignali
cea5e90bde
avcodec/proresenc_aw : use qp close to the official encoder
6 years ago
Martin Vignali
1a45b12cdc
avcodec/proresenc_aw : use AVframe primaries, transfert, colorspace for frame header instead of default (unknown, unknown, Rec601)
...
avoid color shift, on some decoding software
6 years ago
Martin Vignali
d7731ea9d4
avcodec/proresenc_aw : use scan table from prores_data file
...
Doesn't seems to make speed loss
6 years ago
Michael Niedermayer
15eda746e7
avcodec/proresenc_anatoliy: remove coded_frame use
...
coded_frame.key_frame should be set by the core already
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
9 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>
9 years ago
Michael Niedermayer
e0fd319784
avcodec/proresenc_anatoliy: Use more specific error codes
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Michael Niedermayer
b70582e92f
avcodec/proresenc_anatoliy: Check av_frame_alloc() return code
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
James Almer
d8c52f5d04
proresenc_anatoliy: use put_sbits()
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at>
Signed-off-by: James Almer <jamrial@gmail.com>
10 years ago
Christophe Gisquet
3814f92fd7
lavc: use LOCAL_ALIGNED instead of DECLARE_ALIGNED
...
The later may yield incorrect code for on-stack variables.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
10 years ago
Clément Bœsch
546d69eb43
avcodec: use av_frame_free() for coded_frame
10 years ago
Dyami Caliri
50833c9f7b
Fix buffer_size argument to init_put_bits() in multiple encoders.
...
Several encoders were multiplying the buffer size by 8, in order to get
a bit size. However, the buffer_size argument is for the byte size of
the buffer. We had experienced crashes encoding prores (Anatoliy) at
size 4096x4096.
10 years ago
Michael Niedermayer
7cb8f7ded4
avcodec/proresenc_anatoliy: check against maximum dimensions
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
82efa24c51
avcodec/proresenc_anatoliy: simplify get()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
f6b1cd3936
avcodec/proresenc_anatoliy: load 4 samples at a time in get()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
63b4d6feb8
avcodec/proresenc_anatoliy: Use fdct from DSPContext instead of direct call.
...
Based-on: a55546f48d
by Diego Biurrun
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
e263af3024
avcodec/proresenc_anatoliy: Set bits_per_raw_sample
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Michael Niedermayer
e5dc7439e3
avcodec/proresenc_anatoliy: Fix () in macros
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
11 years ago
Clément Bœsch
b46f19100b
cosmetics: group remaining .name and .long_name.
...
See b2bed9325
.
11 years ago
Michael Niedermayer
b3c3996212
avcodec: rename prores encoders
...
Using the first names of authors sounds somewhat unprofessional
and might be considered offensive which is not intended.
The new names use the initials of the authors due to simplicity
and the possibility to apply it consistently without the need
to find political correct names for each future case where
alternative codecs might exist. Also its shorter ...
If someone has a better idea, like maybe 2 random letters
and people prefer it then iam happy to switch to that ...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
12 years ago