Clément Bœsch
6d35911667
avcodec/proresenc_kostya: do not write into alpha reserved bitfields
...
This byte represents 4 reserved bits followed by 4 alpha_channel_type bits.
alpha_channel_type currently has 3 differents defined values: 0 (no
alpha), 1 (8b alpha), and 2 (16b alpha), all the other values are
reserved. This part is correctly written (alpha_bits>>3 does the correct
thing), but the 4 initial bits are reserved.
2024-01-10 23:33:02 +01:00
Clément Bœsch
aa7ccd0ce9
avcodec/proresenc_kostya: use a compatible bitstream version
...
Quoting SMPTE RDD 36:2015:
A decoder shall abort if it encounters a bitstream with an unsupported
bitstream_version value. If 0, the value of the chroma_format syntax
element shall be 2 (4:2:2 sampling) and the value of the
alpha_channel_type element shall be 0 (no encoded alpha); if 1, any
permissible value may be used for those syntax elements.
So if we're not in 4:2:2 or if there is alpha, we are not allowed to use
version 0.
2024-01-10 23:33:02 +01:00
Clément Bœsch
85cb1b9b20
avcodec/proresenc_anatoliy: use a compatible bitstream version
...
Quoting SMPTE RDD 36:2015:
A decoder shall abort if it encounters a bitstream with an unsupported
bitstream_version value. If 0, the value of the chroma_format syntax
element shall be 2 (4:2:2 sampling) and the value of the
alpha_channel_type element shall be 0 (no encoded alpha); if 1, any
permissible value may be used for those syntax elements.
So if we're not in 4:2:2 or if there is alpha, we are not allowed to use
version 0.
2024-01-10 23:33:02 +01:00
James Almer
0405f71e19
avformat/mov: rename avif fields to heif
...
They are no longer avif specific.
Signed-off-by: James Almer <jamrial@gmail.com>
2024-01-10 18:26:53 -03:00
Stefano Sabatini
82ad55f5ff
doc/muxers: add ass
2024-01-10 19:56:54 +01:00
Stefano Sabatini
81960c09d6
doc/muxers/asf: extend and apply consistency fixes
...
Mention asf_stream variant, and clarify the unit used for the packet_size option.
2024-01-10 19:56:54 +01:00
Stefano Sabatini
d311e46284
doc/muxers: add argo_cvg
2024-01-10 19:56:54 +01:00
Stefano Sabatini
2a0abf06e4
doc/muxers: add argo_asf
2024-01-10 19:56:54 +01:00
Stefano Sabatini
e2b1988c19
doc/muxers: add apng
2024-01-10 19:56:50 +01:00
Stefano Sabatini
d9480cebd9
doc/muxers: add apm
2024-01-10 19:56:45 +01:00
Stefano Sabatini
05d92850ec
doc/muxers: add amv
2024-01-10 19:56:40 +01:00
Stefano Sabatini
afcd9d8991
doc/muxers: add amr
2024-01-10 19:56:34 +01:00
Stefano Sabatini
92a5c93ee9
doc/muxers/alp: apply consistency formatting fixes
2024-01-10 19:56:34 +01:00
Stefano Sabatini
b894cb45c4
doc/muxers: add section for audio PCM muxers
2024-01-10 19:56:34 +01:00
Stefano Sabatini
1daf10e51d
doc/muxers/aiff: apply formatting fixes
2024-01-10 19:56:34 +01:00
Stefano Sabatini
4d54f022b3
doc/muxer/adts: apply consistency fixes
2024-01-10 19:56:34 +01:00
Stefano Sabatini
bdb1738cda
doc/muxers: add ac4
2024-01-10 19:56:28 +01:00
Stefano Sabatini
14aa4b08fe
doc/muxers/a64: re-format description
2024-01-10 19:52:24 +01:00
Stefano Sabatini
c7e26d192a
doc/muxers: review rawvideo muxers section
...
Move section to the top of the file, use table in place of subsection
to list the comprising muxers, and show media type information and
extensions in the item entry names.
2024-01-10 19:52:24 +01:00
Stefano Sabatini
f038cd7945
doc/muxers: extend documentation for MOV muxers
2024-01-10 19:52:24 +01:00
Stefano Sabatini
14a1ece3aa
lavf/movenc: sort options by name
2024-01-10 19:52:23 +01:00
Marth64
468e0a0d8b
doc/faq: use texi's @tie instead of 0xA0 for non-breaking space
...
Signed-off-by: Marth64 <marth64@proxyid.net>
2024-01-10 19:52:23 +01:00
Clément Bœsch
1081bae94d
avcodec/proresenc_kostya: make a few cosmetics in encode_acs()
...
Unify cosmetics with encode_acs() from proresenc_anatoliy.
2024-01-10 14:08:00 +01:00
Clément Bœsch
cc2206d142
avcodec/proresenc_anatoliy: make a few cosmetics in encode_acs()
...
This makes the function pretty much identical to the function of the
same name in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
8fb2e96d7e
avcodec/proresenc_anatoliy: execute AC run/level FFMIN() at assignment
...
This matches the logic from the function of the same name in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
096a69ad43
avcodec/proresenc_anatoliy: rework inner loop in encode_acs()
...
This matches the logic from the function of the same name in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
25f28b9308
avcodec/proresenc_anatoliy: avoid using ff_ prefix in function arguments
2024-01-10 14:08:00 +01:00
Clément Bœsch
29fd3f75fe
avcodec/proresenc_anatoliy: rework encode_ac_coeffs() prototype
...
This makes the prototype closer to the function of the same name in
proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
3543100a05
avcodec/proresenc_anatoliy: replace get_level() with FFABS()
...
This matches the code from proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
ed8692446c
avcodec/proresenc_anatoliy: cosmetics to make encode_dcs() identical to the one in Kostya encoder
2024-01-10 14:08:00 +01:00
Clément Bœsch
e87bc5641c
avcodec/proresenc_anatoliy: remove TO_GOLOMB2()
...
A few cosmetics aside, this makes the function identical to the one with
the same name in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
a026f98f29
avcodec/proresenc_anatoliy: only pass down the first scale to encode_dcs()
...
This matches encode_dcs() prototype from proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
1aa7d504ec
avcodec/proresenc_anatoliy: shuffle declarations around in encode_dcs()
...
This makes the function closer to the same function in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
87ba89281c
avcodec/proresenc_anatoliy: rename TO_GOLOMB() to MAKE_CODE()
...
This matches the name in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
7af42088d7
avcodec/proresenc_kostya: add Anatoliy copyright
...
Both encoders share a lot of code from both authors.
2024-01-10 14:08:00 +01:00
Clément Bœsch
d269f84199
avcodec/proresenc_anatoliy: remove IS_NEGATIVE() macro
...
This makes the function closer to encode_acs() in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
9c7f6d89fd
avcodec/proresenc_anatoliy: rename new_dc to dc
...
This makes the function closer to encode_dcs() in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
9258f4eaf9
avcodec/proresenc_anatoliy: compute sign only once
...
This makes the function closer to encode_dcs() in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
17392ca84f
avcodec/proresenc_anatoliy: import GET_SIGN() macro from Kostya encoder and use it
2024-01-10 14:08:00 +01:00
Clément Bœsch
273f591a3d
avcodec/proresenc_anatoliy: directly work with blocks in encode_dcs()
...
This makes the function closer to encode_dcs() in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
dadc5ac24a
avcodec/proresenc_anatoliy: reduce DC encoding function prototype differences with Kostya encoder
2024-01-10 14:08:00 +01:00
Clément Bœsch
8e42d3aba0
avcodec/proresenc_anatoliy: execute codebook FFMIN() at assignment
...
This makes the function closer to encode_dcs() in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
43baba4647
avcodec/proresenc_anatoliy: rename new_code/code to code/codebook
...
This makes the function closer to encode_dcs() in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
c44cd371ca
avcodec/proresenc_anatoliy: inline QSCALE()
...
Also replaces 16384 with 0x4000.
This makes the function slightly closer to same function in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
1574475033
avcodec/proresenc_anatoliy: rework encode_codeword() prototype
...
This matches the function of the same name in proresenc_kostya.
2024-01-10 14:08:00 +01:00
Clément Bœsch
1832bd7838
avcodec/proresenc_anatoliy: shuffle encode_codeword() code to match Kostya encoder
...
Code is functionally identical, it's just rename of variables, cosmetics
and branch logic shuffling.
2024-01-10 14:08:00 +01:00
Clément Bœsch
3885d2493d
avcodec/proresenc_anatoliy: use FRAME_ID defined in proresdata.h
2024-01-10 14:08:00 +01:00
Clément Bœsch
d6e0fb7c92
avcodec/proresenc_kostya: simplify quantization matrix bytestream writing
2024-01-10 14:08:00 +01:00
Clément Bœsch
cbee015867
avcodec/proresenc_kostya: fix chroma quantisation matrix in frame header
...
Most of the time the quantisation matrices are the same, it only matters
with the proxy profile.
2024-01-10 14:08:00 +01:00
Clément Bœsch
631fa19ee0
avcodec/proresenc_kostya: save a few operations in DC encoding
...
This matches the logic from proresenc_anatoliy.
2024-01-10 14:08:00 +01:00