• Gaullier Nicolas's avatar
    avformat/mxfenc: set/force channelcount in MXF D-10 · 3eae34d5
    Gaullier Nicolas authored
    There are interoperability issues with D-10 related to the channelcount property in the generic sound essence descriptor.
    
    On one side, SMPTE 386M requires channel count to be 4 or 8, other values being prohibited.
    The most widespread value is 8, which seems straightforward as it is the actual size of the allocated structure/disk space.
    At the end, it appears that some vendors or workflows do require this descriptor to be 8, and otherwise just "fail".
    
    On the other side, at least AVID and ffmpeg do write/set the channel count to the exact number of channels really "used",
    usually 2 or 4, or any other value. And on the decoding side, ffmpeg (for example) make use of the channel count for probing
    and only expose this limited number of audio streams
    (which make sense but has strong impact on ffmpeg command line usage, output, and downstream workflow).
    
    At the end, I find it pretty usefull to simply give ffmpeg the ability to force/set the channel count to any value the user wants.
    (there are turnaround using complex filters, pans, amerge etc., but it is quite boring and requires the command line to be adapted to the input file properties)
    Reviewed-by: 's avatarMatthieu Bouron <matthieu.bouron@gmail.com>
    Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
    3eae34d5
Name
Last commit
Last update
..
4xm.c Loading commit data...
Makefile Loading commit data...
a64.c Loading commit data...
aacdec.c Loading commit data...
ac3dec.c Loading commit data...
act.c Loading commit data...
adp.c Loading commit data...
adtsenc.c Loading commit data...
adxdec.c Loading commit data...
aea.c Loading commit data...
afc.c Loading commit data...
aiff.h Loading commit data...
aiffdec.c Loading commit data...
aiffenc.c Loading commit data...
allformats.c Loading commit data...
amr.c Loading commit data...
anm.c Loading commit data...
apc.c Loading commit data...
ape.c Loading commit data...
apetag.c Loading commit data...
apetag.h Loading commit data...
aqtitledec.c Loading commit data...
asf.c Loading commit data...
asf.h Loading commit data...
asfcrypt.c Loading commit data...
asfcrypt.h Loading commit data...
asfdec.c Loading commit data...
asfenc.c Loading commit data...
assdec.c Loading commit data...
assenc.c Loading commit data...
ast.c Loading commit data...
ast.h Loading commit data...
astdec.c Loading commit data...
astenc.c Loading commit data...
au.c Loading commit data...
audiointerleave.c Loading commit data...
audiointerleave.h Loading commit data...
avc.c Loading commit data...
avc.h Loading commit data...
avformat.h Loading commit data...
avformatres.rc Loading commit data...
avi.h Loading commit data...
avidec.c Loading commit data...
avienc.c Loading commit data...
avio.c Loading commit data...
avio.h Loading commit data...
avio_internal.h Loading commit data...
aviobuf.c Loading commit data...
avisynth.c Loading commit data...
avlanguage.c Loading commit data...
avlanguage.h Loading commit data...
avr.c Loading commit data...
avs.c Loading commit data...
bethsoftvid.c Loading commit data...
bfi.c Loading commit data...
bink.c Loading commit data...
bintext.c Loading commit data...
bit.c Loading commit data...
bluray.c Loading commit data...
bmv.c Loading commit data...
boadec.c Loading commit data...
brstm.c Loading commit data...
c93.c Loading commit data...
cache.c Loading commit data...
caf.c Loading commit data...
caf.h Loading commit data...
cafdec.c Loading commit data...
cafenc.c Loading commit data...
cavsvideodec.c Loading commit data...
cdg.c Loading commit data...
cdxl.c Loading commit data...
cinedec.c Loading commit data...
concat.c Loading commit data...
concatdec.c Loading commit data...
crcenc.c Loading commit data...
crypto.c Loading commit data...
cutils.c Loading commit data...
data_uri.c Loading commit data...
daud.c Loading commit data...
dfa.c Loading commit data...
diracdec.c Loading commit data...
dnxhddec.c Loading commit data...
dsfdec.c Loading commit data...
dsicin.c Loading commit data...
dtsdec.c Loading commit data...
dtshddec.c Loading commit data...
dump.c Loading commit data...
dv.c Loading commit data...
dv.h Loading commit data...
dvenc.c Loading commit data...
dxa.c Loading commit data...
eacdata.c Loading commit data...
electronicarts.c Loading commit data...
epafdec.c Loading commit data...
ffm.h Loading commit data...
ffmdec.c Loading commit data...
ffmenc.c Loading commit data...
ffmeta.h Loading commit data...
ffmetadec.c Loading commit data...
ffmetaenc.c Loading commit data...
file.c Loading commit data...
file_open.c Loading commit data...
filmstripdec.c Loading commit data...
filmstripenc.c Loading commit data...
flac_picture.c Loading commit data...
flac_picture.h Loading commit data...
flacdec.c Loading commit data...
flacenc.c Loading commit data...
flacenc.h Loading commit data...
flacenc_header.c Loading commit data...
flic.c Loading commit data...
flv.h Loading commit data...
flvdec.c Loading commit data...
flvenc.c Loading commit data...
format.c Loading commit data...
framecrcenc.c Loading commit data...
framehash.c Loading commit data...
frmdec.c Loading commit data...
ftp.c Loading commit data...
g722.c Loading commit data...
g723_1.c Loading commit data...
g729dec.c Loading commit data...
gif.c Loading commit data...
gifdec.c Loading commit data...
golomb_tab.c Loading commit data...
gopher.c Loading commit data...
gsmdec.c Loading commit data...
gxf.c Loading commit data...
gxf.h Loading commit data...
gxfenc.c Loading commit data...
h261dec.c Loading commit data...
h263dec.c Loading commit data...
h264dec.c Loading commit data...
hdsenc.c Loading commit data...
hevc.c Loading commit data...
hevc.h Loading commit data...
hevcdec.c Loading commit data...
hls.c Loading commit data...
hlsenc.c Loading commit data...
hlsproto.c Loading commit data...
hnm.c Loading commit data...
http.c Loading commit data...
http.h Loading commit data...
httpauth.c Loading commit data...
httpauth.h Loading commit data...
icodec.c Loading commit data...
icoenc.c Loading commit data...
id3v1.c Loading commit data...
id3v1.h Loading commit data...
id3v2.c Loading commit data...
id3v2.h Loading commit data...
id3v2enc.c Loading commit data...
idcin.c Loading commit data...
idroqdec.c Loading commit data...
idroqenc.c Loading commit data...
iff.c Loading commit data...
ilbc.c Loading commit data...
img2.c Loading commit data...
img2.h Loading commit data...
img2_alias_pix.c Loading commit data...
img2_brender_pix.c Loading commit data...
img2dec.c Loading commit data...
img2enc.c Loading commit data...
ingenientdec.c Loading commit data...
internal.h Loading commit data...
ipmovie.c Loading commit data...
ircam.c Loading commit data...
ircam.h Loading commit data...
ircamdec.c Loading commit data...
ircamenc.c Loading commit data...
isom.c Loading commit data...
isom.h Loading commit data...
iss.c Loading commit data...
iv8.c Loading commit data...
ivfdec.c Loading commit data...
ivfenc.c Loading commit data...
jacosubdec.c Loading commit data...
jacosubenc.c Loading commit data...
jvdec.c Loading commit data...
latmenc.c Loading commit data...
libavformat.v Loading commit data...
libgme.c Loading commit data...
libmodplug.c Loading commit data...
libnut.c Loading commit data...
libquvi.c Loading commit data...
librtmp.c Loading commit data...
libssh.c Loading commit data...
lmlm4.c Loading commit data...
loasdec.c Loading commit data...
log2_tab.c Loading commit data...
lvfdec.c Loading commit data...
lxfdec.c Loading commit data...
m4vdec.c Loading commit data...
matroska.c Loading commit data...
matroska.h Loading commit data...
matroskadec.c Loading commit data...
matroskaenc.c Loading commit data...
md5enc.c Loading commit data...
md5proto.c Loading commit data...
metadata.c Loading commit data...
metadata.h Loading commit data...
mgsts.c Loading commit data...
microdvddec.c Loading commit data...
microdvdenc.c Loading commit data...
mkvtimestamp_v2.c Loading commit data...
mlvdec.c Loading commit data...
mm.c Loading commit data...
mmf.c Loading commit data...
mms.c Loading commit data...
mms.h Loading commit data...
mmsh.c Loading commit data...
mmst.c Loading commit data...
mov.c Loading commit data...
mov_chan.c Loading commit data...
mov_chan.h Loading commit data...
movenc.c Loading commit data...
movenc.h Loading commit data...
movenchint.c Loading commit data...
mp3dec.c Loading commit data...
mp3enc.c Loading commit data...
mpc.c Loading commit data...
mpc8.c Loading commit data...
mpeg.c Loading commit data...
mpeg.h Loading commit data...
mpegenc.c Loading commit data...
mpegts.c Loading commit data...
mpegts.h Loading commit data...
mpegtsenc.c Loading commit data...
mpegvideodec.c Loading commit data...
mpjpeg.c Loading commit data...
mpl2dec.c Loading commit data...
mpsubdec.c Loading commit data...
msnwc_tcp.c Loading commit data...
mtv.c Loading commit data...
mux.c Loading commit data...
mvdec.c Loading commit data...
mvi.c Loading commit data...
mxf.c Loading commit data...
mxf.h Loading commit data...
mxfdec.c Loading commit data...
mxfenc.c Loading commit data...
mxg.c Loading commit data...
ncdec.c Loading commit data...
network.c Loading commit data...
network.h Loading commit data...
nistspheredec.c Loading commit data...
noproxy-test.c Loading commit data...
nsvdec.c Loading commit data...
nullenc.c Loading commit data...
nut.c Loading commit data...
nut.h Loading commit data...
nutdec.c Loading commit data...
nutenc.c Loading commit data...
nuv.c Loading commit data...
oggdec.c Loading commit data...
oggdec.h Loading commit data...
oggenc.c Loading commit data...
oggparsecelt.c Loading commit data...
oggparsedirac.c Loading commit data...
oggparseflac.c Loading commit data...
oggparseogm.c Loading commit data...
oggparseopus.c Loading commit data...
oggparseskeleton.c Loading commit data...
oggparsespeex.c Loading commit data...
oggparsetheora.c Loading commit data...
oggparsevorbis.c Loading commit data...
oggparsevp8.c Loading commit data...
oma.c Loading commit data...
oma.h Loading commit data...
omadec.c Loading commit data...
omaenc.c Loading commit data...
options.c Loading commit data...
options_table.h Loading commit data...
os_support.c Loading commit data...
os_support.h Loading commit data...
paf.c Loading commit data...
pcm.c Loading commit data...
pcm.h Loading commit data...
pcmdec.c Loading commit data...
pcmenc.c Loading commit data...
pjsdec.c Loading commit data...
pmpdec.c Loading commit data...
psxstr.c Loading commit data...
pva.c Loading commit data...
pvfdec.c Loading commit data...
qcp.c Loading commit data...
qtpalette.h Loading commit data...
r3d.c Loading commit data...
rawdec.c Loading commit data...
rawdec.h Loading commit data...
rawenc.c Loading commit data...
rawenc.h Loading commit data...
rawvideodec.c Loading commit data...
rdt.c Loading commit data...
rdt.h Loading commit data...
realtextdec.c Loading commit data...
redspark.c Loading commit data...
replaygain.c Loading commit data...
replaygain.h Loading commit data...
riff.c Loading commit data...
riff.h Loading commit data...
riffdec.c Loading commit data...
riffenc.c Loading commit data...
rl2.c Loading commit data...
rm.c Loading commit data...
rm.h Loading commit data...
rmdec.c Loading commit data...
rmenc.c Loading commit data...
rmsipr.c Loading commit data...
rmsipr.h Loading commit data...
rpl.c Loading commit data...
rsd.c Loading commit data...
rso.c Loading commit data...
rso.h Loading commit data...
rsodec.c Loading commit data...
rsoenc.c Loading commit data...
rtmp.h Loading commit data...
rtmpcrypt.c Loading commit data...
rtmpcrypt.h Loading commit data...
rtmpdh.c Loading commit data...
rtmpdh.h Loading commit data...
rtmphttp.c Loading commit data...
rtmppkt.c Loading commit data...
rtmppkt.h Loading commit data...
rtmpproto.c Loading commit data...
rtp.c Loading commit data...
rtp.h Loading commit data...
rtpdec.c Loading commit data...
rtpdec.h Loading commit data...
rtpdec_amr.c Loading commit data...
rtpdec_asf.c Loading commit data...
rtpdec_formats.h Loading commit data...
rtpdec_g726.c Loading commit data...
rtpdec_h263.c Loading commit data...
rtpdec_h263_rfc2190.c Loading commit data...
rtpdec_h264.c Loading commit data...
rtpdec_ilbc.c Loading commit data...
rtpdec_jpeg.c Loading commit data...
rtpdec_latm.c Loading commit data...
rtpdec_mpeg12.c Loading commit data...
rtpdec_mpeg4.c Loading commit data...
rtpdec_mpegts.c Loading commit data...
rtpdec_qcelp.c Loading commit data...
rtpdec_qdm2.c Loading commit data...
rtpdec_qt.c Loading commit data...
rtpdec_svq3.c Loading commit data...
rtpdec_vp8.c Loading commit data...
rtpdec_xiph.c Loading commit data...
rtpenc.c Loading commit data...
rtpenc.h Loading commit data...
rtpenc_aac.c Loading commit data...
rtpenc_amr.c Loading commit data...
rtpenc_chain.c Loading commit data...
rtpenc_chain.h Loading commit data...
rtpenc_h263.c Loading commit data...
rtpenc_h263_rfc2190.c Loading commit data...
rtpenc_h264.c Loading commit data...
rtpenc_jpeg.c Loading commit data...
rtpenc_latm.c Loading commit data...
rtpenc_mpv.c Loading commit data...
rtpenc_vp8.c Loading commit data...
rtpenc_xiph.c Loading commit data...
rtpproto.c Loading commit data...
rtpproto.h Loading commit data...
rtsp.c Loading commit data...
rtsp.h Loading commit data...
rtspcodes.h Loading commit data...
rtspdec.c Loading commit data...
rtspenc.c Loading commit data...
samidec.c Loading commit data...
sapdec.c Loading commit data...
sapenc.c Loading commit data...
sauce.c Loading commit data...
sauce.h Loading commit data...
sbgdec.c Loading commit data...
sctp.c Loading commit data...
sdp.c Loading commit data...
sdr2.c Loading commit data...
seek-test.c Loading commit data...
seek.c Loading commit data...
seek.h Loading commit data...
segafilm.c Loading commit data...
segment.c Loading commit data...
sierravmd.c Loading commit data...
siff.c Loading commit data...
smacker.c Loading commit data...
smjpeg.c Loading commit data...
smjpeg.h Loading commit data...
smjpegdec.c Loading commit data...
smjpegenc.c Loading commit data...
smoothstreamingenc.c Loading commit data...
smush.c Loading commit data...
sol.c Loading commit data...
sox.h Loading commit data...
soxdec.c Loading commit data...
soxenc.c Loading commit data...
spdif.c Loading commit data...
spdif.h Loading commit data...
spdifdec.c Loading commit data...
spdifenc.c Loading commit data...
srtdec.c Loading commit data...
srtenc.c Loading commit data...
srtp.c Loading commit data...
srtp.h Loading commit data...
srtpproto.c Loading commit data...
subfile.c Loading commit data...
subtitles.c Loading commit data...
subtitles.h Loading commit data...
subviewer1dec.c Loading commit data...
subviewerdec.c Loading commit data...
swf.c Loading commit data...
swf.h Loading commit data...
swfdec.c Loading commit data...
swfenc.c Loading commit data...
takdec.c Loading commit data...
tcp.c Loading commit data...
tedcaptionsdec.c Loading commit data...
tee.c Loading commit data...
thp.c Loading commit data...
tiertexseq.c Loading commit data...
tls.c Loading commit data...
tmv.c Loading commit data...
tta.c Loading commit data...
tty.c Loading commit data...
txd.c Loading commit data...
udp.c Loading commit data...
uncodedframecrcenc.c Loading commit data...
unix.c Loading commit data...
url-test.c Loading commit data...
url.c Loading commit data...
url.h Loading commit data...
urldecode.c Loading commit data...
urldecode.h Loading commit data...
utils.c Loading commit data...
vc1test.c Loading commit data...
vc1testenc.c Loading commit data...
version.h Loading commit data...
vivo.c Loading commit data...
voc.c Loading commit data...
voc.h Loading commit data...
vocdec.c Loading commit data...
vocenc.c Loading commit data...
vorbiscomment.c Loading commit data...
vorbiscomment.h Loading commit data...
vplayerdec.c Loading commit data...
vqf.c Loading commit data...
w64.c Loading commit data...
w64.h Loading commit data...
wavdec.c Loading commit data...
wavenc.c Loading commit data...
wc3movie.c Loading commit data...
webvttdec.c Loading commit data...
webvttenc.c Loading commit data...
westwood_aud.c Loading commit data...
westwood_vqa.c Loading commit data...
wtv.h Loading commit data...
wtv_common.c Loading commit data...
wtvdec.c Loading commit data...
wtvenc.c Loading commit data...
wv.c Loading commit data...
wv.h Loading commit data...
wvdec.c Loading commit data...
wvenc.c Loading commit data...
xa.c Loading commit data...
xmv.c Loading commit data...
xwma.c Loading commit data...
yop.c Loading commit data...
yuv4mpeg.h Loading commit data...
yuv4mpegdec.c Loading commit data...
yuv4mpegenc.c Loading commit data...