Anton Khirnov
e663030267
lavc/encode: pick a sane default for bits_per_raw_sample if it's not set
...
Fixes #9563 .
2022-04-13 12:48:19 +02:00
Anton Khirnov
ee26138e67
lavc/encode: reindent
2022-04-13 12:48:18 +02:00
Anton Khirnov
15975881ae
lavc/encode: factor audio/video-specific parts out of ff_encode_preinit()
2022-04-13 12:45:47 +02:00
Anton Khirnov
ce3c20f2aa
lavc: move default get_buffer2() to its own file
...
It is also used by some encoders, so decode.c is not the right place for
it.
2022-04-13 12:15:02 +02:00
Anton Khirnov
32413600e8
lavc/encode: drop EncodeSimpleContext
...
It has only a single member.
2022-04-13 12:14:30 +02:00
Anton Khirnov
1c01dca144
lavc/avcodec: only allocate the encoding frame for encoders
...
And only when needed, i.e. for encoders using the simple API.
2022-04-13 12:14:08 +02:00
Anton Khirnov
7efa6418b8
lavc/avcodec: simplify codec id/type validity checking
...
On entry to avcodec_open2(), the AVCodecContext type and id either have
to be UNKNOWN/NONE or have to match the codec to be used.
2022-04-13 12:13:15 +02:00
Anton Khirnov
4a7c8bb3d8
fftools/ffmpeg: store output format separately from the muxer context
...
Allows accessing it without going through the muxer context. This will
be useful in the following commits, where the muxer context will be
hidden.
2022-04-13 12:07:54 +02:00
Anton Khirnov
5c66ee6351
fftools/ffmpeg: move freeing the output file to ffmpeg_mux.c
2022-04-13 12:07:54 +02:00
Anton Khirnov
5bc644ea8a
fftools/ffmpeg: move writing the trailer to ffmpeg_mux.c
2022-04-13 12:07:54 +02:00
Anton Khirnov
288aa37387
fftools/ffmpeg: move some muxing-related code into a separate file
...
This is a first step towards making muxers more independent from the
rest of the code.
2022-04-13 12:07:54 +02:00
Anton Khirnov
b1a984cb49
fftools/ffmpeg: store the output file index in OutputFile
...
Use it to simplify check_init_output_file(). Will allow further
simplifications in the following commits.
2022-04-13 12:07:54 +02:00
Anton Khirnov
16aea9a38b
fftools/ffmpeg: pass the muxer context explicitly to some functions
...
Stop accessing OutputFile.ctx. This will be useful in the following
commits, where it will become hidden.
2022-04-13 12:07:54 +02:00
Anton Khirnov
662364b2ef
fftools/ffmpeg: stop using OutputStream.frame_number for streamcopy
...
This field is currently used by checks
- skipping packets before the first keyframe
- skipping packets before start time
to test whether any packets have been output already. But since
frame_number is incremented after the bitstream filters are applied
(which may involve delay), this use is incorrect. The keyframe check
works around this by adding an extra flag, the start-time check does
not.
Simplify both checks by replacing the seen_kf flag with a flag tracking
whether any packets have been output by do_streamcopy().
2022-04-13 12:07:54 +02:00
Anton Khirnov
86e1c0303c
fftools/ffmpeg: move a comment to a more appropriate place
2022-04-13 12:07:54 +02:00
Anton Khirnov
a8c95e1feb
fftools/ffmpeg: drop an obsolete hack
...
Introduced in 05741d70c7 . All encoders should set the timestamps
properly now, so it should never be necessary.
2022-04-13 12:07:54 +02:00
Anton Khirnov
1728ad8293
fftools/cmdutils: drop redundant code
...
It allocates a dummy sws/swr context and tries setting options on it,
apparently to check if they are valid. This is redundant, since the
options will be checked if/when they are later applied on a context that
is actually used for conversion.
2022-03-22 18:49:43 +01:00
Anton Khirnov
bd0cbebf3e
fftools: drop the fake "default" option from ffplay/ffprobe
...
It tries to process any unhandled options as AVOptions. Handle this
directly in cmdutils.c, without resorting to a confusing fake option
definition (which is currently visible to the users in -help output).
2022-03-22 18:49:43 +01:00
Anton Khirnov
1dd6363581
fftools/ffprobe: drop -show_format_entry
...
Deprecated since 2012.
2022-03-22 18:49:43 +01:00
Anton Khirnov
6fd1cd6053
fftools/ffplay: drop options deprecated since 2011
2022-03-22 18:49:43 +01:00
Anton Khirnov
8d293918b5
fftools/ffmpeg: drop mistakenly added empty line
2022-03-22 18:49:43 +01:00
Anton Khirnov
00da464658
fftools: move opt_timelimit from cmdutils to ffmpeg
...
This option is only supported by ffmpeg.
2022-03-22 18:49:43 +01:00
Anton Khirnov
a545cb2b9d
fftools/cmdutils: split common option handlers into their own file
2022-03-22 18:49:43 +01:00
Anton Khirnov
c99b93c5d5
fftools: drop useless indirection
2022-03-22 18:49:43 +01:00
Anton Khirnov
5e51f5af33
fftools/cmdutils: drop extern declarations for nonexistent variables
2022-03-22 18:49:43 +01:00
Anton Khirnov
e46d8c53a3
fftools/cmdutils: drop prototypes for nonexistent functions
2022-03-22 18:49:43 +01:00
Anton Khirnov
1b7ecb3eef
avfilter: handle duplicates in the options string
...
Use the same logic as fftools/cmdutils - when a flag-type option starts
with [+-], append it to the existing value.
2022-03-22 18:49:43 +01:00
Anton Khirnov
a0f04433f4
avfilter: simplify processing child context options
...
THe call to av_opt_set() is redundant, since the option is written in
the options dict, which is later passed to avfilter_init_dict().
2022-03-22 18:49:43 +01:00
Anton Khirnov
a24e6ca8bf
lavc/bsf: improve doxy
2022-03-19 15:59:58 +01:00
Anton Khirnov
5e7643eff7
lavc/bsf: add general documentation
...
Also, place the BSF api docs in their own doxygen group.
2022-03-19 15:59:07 +01:00
Anton Khirnov
6ccc3989d1
doc/APIchanges: update for the new channel layout API
2022-03-19 15:55:51 +01:00
Anton Khirnov
e6358ec1ac
opus: export mapping family 2 (Ambisonic) as Ambisonic layout
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:47 -03:00
Anton Khirnov
5636972c7a
lavc: drop temporary compat wrappers for channel layout API change
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:46 -03:00
Anton Khirnov
bfe86a761a
ws-snd1: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:45 -03:00
Anton Khirnov
3c933af493
wma: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:45 -03:00
Anton Khirnov
03ba5cf321
wavpack: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:45 -03:00
Anton Khirnov
457e88fcaf
vorbis: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:45 -03:00
Anton Khirnov
eb81c946c1
vmdaudio: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:45 -03:00
Anton Khirnov
1191ffd50a
tta: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:45 -03:00
Anton Khirnov
0045c6dd5c
truespeech: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:45 -03:00
Anton Khirnov
cf512325cb
tak: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:45 -03:00
Anton Khirnov
73cb6c87ac
sonic: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:45 -03:00
Anton Khirnov
a9dfca7c59
smacker: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:45 -03:00
Anton Khirnov
6114a1f71d
sipr: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
fb722bab3e
shorten: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
b7483d02c2
sbc: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
3caf14e0a4
s302m: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
1d4e6ce31c
roqaudioenc: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
05cce829ee
ralf: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
b6c62cda7d
ra288: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
513c0e276f
ra144: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
063e5f1fa9
qdm2: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
884a97de69
qdmc: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
b7716325d9
qcelpdec: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
ac0d207a1a
pcm: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
cc37640a72
opus: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
045d6b9abf
on2avc: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:44 -03:00
Anton Khirnov
8777ea2b01
nellymoser: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
53d25983bf
mpegaudio: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
a96c94bbd8
mpc8: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
edd7be9383
mpc7: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
d4b79b2e32
mlp: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
264e222dbb
metasound: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
c5ccc0bd94
mace: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
e5d4941c40
libvorbis: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
53bf0ed544
libvo-amrwbenc: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
429327075a
libtwolame: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
97d9a32938
libspeex: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
ffdf7269a5
libshine: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
e869c06ef5
libopus: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
e0bb126de8
libopencore-amr: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:43 -03:00
Anton Khirnov
9b3130c886
libmp3lame: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
5359381864
libgsm: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
06ed1927b1
libilbc: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
a382624113
libcodec2: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
89dc056b01
libcelt: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
dd544b5ef0
interplayacm: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
2c15e1975a
imc: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
c67dd4eff9
ilbc: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
b14fa1b95d
hcom: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
3928c4ae45
gsmdec: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
64c64cb451
g729: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
e763a7cf0b
g726: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:42 -03:00
Anton Khirnov
182866e9e4
g723_1: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
c21e1492e3
g722: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
5e257c1f7b
flac: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
06431f1997
ffwavesynth: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
989ca4d86d
evrc: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
502f7240fa
dvaudio: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
89f9a9061e
dst: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
279919ef8d
dsicinav: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
2e430c1468
dsd: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
a7a672c88e
dolby_e: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
b2af4bc807
dca: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:41 -03:00
Anton Khirnov
fa0c8a753e
cook: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:40 -03:00
Anton Khirnov
cdde7fe415
cng: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:40 -03:00
Anton Khirnov
1d2f7e0ea3
bmvaudio: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:40 -03:00
Anton Khirnov
14b28ab6f7
binkaudio: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:40 -03:00
Anton Khirnov
411f2e058e
audiotoolbox: convert to new channel layout API
...
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:40 -03:00
Anton Khirnov
9e6ec2d7d5
apedec: convert to new channel layout API
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
Signed-off-by: Anton Khirnov <anton@khirnov.net >
Signed-off-by: James Almer <jamrial@gmail.com >
2022-03-15 09:42:40 -03:00