ffmpeg/libavformat
Gaullier Nicolas 3eae34d50f avformat/mxfenc: set/force channelcount in MXF D-10
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: Matthieu Bouron <matthieu.bouron@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-06-26 01:01:22 +02:00
..
4xm.c
Makefile Merge commit '85d805d5cccb2f57e7f2e2254d7a870f05926cfd' 2014-06-23 00:31:22 +02:00
a64.c
aacdec.c
ac3dec.c
act.c
adp.c
adtsenc.c Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228' 2014-06-18 17:28:10 +02:00
adxdec.c
aea.c
afc.c
aiff.h
aiffdec.c Do not limit blocksize when reading PCM from aiff. 2014-06-03 03:07:55 +02:00
aiffenc.c
allformats.c Remove avserver. 2014-06-18 14:55:28 +02:00
amr.c Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228' 2014-06-18 17:28:10 +02:00
anm.c
apc.c
ape.c
apetag.c
apetag.h
aqtitledec.c
asf.c
asf.h
asfcrypt.c
asfcrypt.h
asfdec.c Show duration for large asf files as written in the file header. 2014-06-21 20:00:18 +02:00
asfenc.c
assdec.c
assenc.c
ast.c
ast.h
astdec.c
astenc.c
au.c Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228' 2014-06-18 17:28:10 +02:00
audiointerleave.c lavf/audiointerleave: return more meaningful error codes 2014-05-20 00:00:45 +02:00
audiointerleave.h
avc.c
avc.h
avformat.h Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
avformatres.rc
avi.h
avidec.c avformat/avidec: allow rounding errors between scale/rate and timebase 2014-06-04 05:04:13 +02:00
avienc.c Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
avio.c
avio.h
avio_internal.h fix various typos 2014-06-03 10:58:19 -08:00
aviobuf.c
avisynth.c
avlanguage.c
avlanguage.h
avr.c
avs.c
bethsoftvid.c
bfi.c
bink.c
bintext.c
bit.c
bluray.c
bmv.c
boadec.c
brstm.c fix various typos 2014-06-03 10:58:19 -08:00
c93.c
cache.c
caf.c
caf.h
cafdec.c
cafenc.c Improve frame size calculation in caf muxer to fix adpcm_ms remuxing. 2014-05-30 07:26:18 +02:00
cavsvideodec.c avformat/cavsvideodec: Fix probing when the file extension is avs 2014-06-09 05:17:34 +02:00
cdg.c
cdxl.c
cinedec.c
concat.c
concatdec.c
crcenc.c
crypto.c
cutils.c
data_uri.c
daud.c
dfa.c
diracdec.c
dnxhddec.c
dsfdec.c
dsicin.c
dtsdec.c
dtshddec.c
dump.c dump_stream_format: fix division by 0 2014-06-18 19:49:23 +02:00
dv.c Merge commit 'dca7ba4bffe3e4aeb620cb62955256a0d87561f4' 2014-06-12 20:25:48 +02:00
dv.h
dvenc.c lavf/dvenc: use av_fifo_alloc_array 2014-05-20 00:00:45 +02:00
dxa.c
eacdata.c
electronicarts.c
epafdec.c
ffm.h Remove avserver. 2014-06-18 14:55:28 +02:00
ffmdec.c Remove avserver. 2014-06-18 14:55:28 +02:00
ffmenc.c Remove avserver. 2014-06-18 14:55:28 +02:00
ffmeta.h
ffmetadec.c
ffmetaenc.c
file.c
file_open.c
filmstripdec.c
filmstripenc.c Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
flac_picture.c
flac_picture.h
flacdec.c Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f' 2014-05-28 13:02:19 +02:00
flacenc.c Merge commit 'e19d48dfce52f1417f7f06143b96fed00cbcdc52' 2014-06-01 14:16:29 +02:00
flacenc.h Merge commit 'e19d48dfce52f1417f7f06143b96fed00cbcdc52' 2014-06-01 14:16:29 +02:00
flacenc_header.c Merge commit 'e19d48dfce52f1417f7f06143b96fed00cbcdc52' 2014-06-01 14:16:29 +02:00
flic.c
flv.h
flvdec.c avformat/flvdec: give live_flvdec a separate name 2014-06-21 20:27:45 +02:00
flvenc.c Merge commit '74bc9458057f07c0820c3d3264396c4c64442e47' 2014-06-18 01:44:24 +02:00
format.c
framecrcenc.c avformat/framecrcenc: print the checksum and size of extradata as well 2014-06-15 18:07:03 +02:00
framehash.c Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
frmdec.c
ftp.c lavf/ftp: favour EPSV over PASV command 2014-05-20 00:00:45 +02:00
g722.c
g723_1.c
g729dec.c
gif.c
gifdec.c
golomb_tab.c
gopher.c
gsmdec.c
gxf.c
gxf.h
gxfenc.c
h261dec.c
h263dec.c
h264dec.c
hdsenc.c
hevc.c fix various typos 2014-06-03 10:58:19 -08:00
hevc.h
hevcdec.c
hls.c
hlsenc.c
hlsproto.c
hnm.c
http.c
http.h
httpauth.c
httpauth.h
icodec.c
icoenc.c
id3v1.c
id3v1.h
id3v2.c
id3v2.h
id3v2enc.c
idcin.c
idroqdec.c
idroqenc.c
iff.c
ilbc.c
img2.c
img2.h
img2_alias_pix.c
img2_brender_pix.c
img2dec.c
img2enc.c
ingenientdec.c
internal.h
ipmovie.c
ircam.c
ircam.h
ircamdec.c
ircamenc.c
isom.c Don't overwrite codec_id with 0 in ff_mp4_read_dec_config_descr(). 2014-05-21 22:48:11 +02:00
isom.h Read mov files where the moov atom is hidden within a free atom. 2014-05-31 16:57:27 +02:00
iss.c
iv8.c
ivfdec.c
ivfenc.c
jacosubdec.c
jacosubenc.c
jvdec.c
latmenc.c Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228' 2014-06-18 17:28:10 +02:00
libavformat.v
libgme.c
libmodplug.c
libnut.c
libquvi.c
librtmp.c
libssh.c
lmlm4.c
loasdec.c
log2_tab.c
lvfdec.c
lxfdec.c
m4vdec.c
matroska.c
matroska.h
matroskadec.c Replace av_malloc() and memset(0) by av_mallocz() 2014-06-22 18:43:11 +02:00
matroskaenc.c lavf/matroskaenc: Fix Cues on Audio for WebM DASH 2014-06-06 21:36:11 +02:00
md5enc.c
md5proto.c
metadata.c
metadata.h
mgsts.c
microdvddec.c
microdvdenc.c
mkvtimestamp_v2.c
mlvdec.c
mm.c
mmf.c
mms.c
mms.h
mmsh.c
mmst.c
mov.c avformat/mov: fix "warning: variable altitude set but not used" warning 2014-06-06 15:46:03 +02:00
mov_chan.c
mov_chan.h
movenc.c Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
movenc.h Merge commit '0ba5299a805e9ccaef1a757381fc2ada4d54b8a1' 2014-05-18 22:29:27 +02:00
movenchint.c Revert "avformat/movenchint: Fix movhinting with ff_rtp_chain_mux_open() from abb810db036628e11a5171134ebe320b187ee6d6" 2014-05-31 12:54:00 +02:00
mp3dec.c
mp3enc.c Merge commit 'f2f2e7627f0c878d13275af5d166ec5932665e28' 2014-06-23 03:34:13 +02:00
mpc.c avformat/mpc: attempt to allocate a packet that is not smaller than the data inside it 2014-06-15 01:33:17 +02:00
mpc8.c
mpeg.c fix various typos 2014-06-03 10:58:19 -08:00
mpeg.h
mpegenc.c
mpegts.c lavf/mpegts: Reduce number of "Predefined SLConfigDescriptor" warnings shown. 2014-06-09 23:20:14 +02:00
mpegts.h
mpegtsenc.c Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
mpegvideodec.c
mpjpeg.c Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228' 2014-06-18 17:28:10 +02:00
mpl2dec.c
mpsubdec.c
msnwc_tcp.c
mtv.c
mux.c avformat/mux: simplify ff_choose_timebase() 2014-06-18 20:09:55 +02:00
mvdec.c
mvi.c
mxf.c
mxf.h
mxfdec.c
mxfenc.c avformat/mxfenc: set/force channelcount in MXF D-10 2014-06-26 01:01:22 +02:00
mxg.c
ncdec.c
network.c
network.h
nistspheredec.c
noproxy-test.c
nsvdec.c
nullenc.c
nut.c
nut.h avformat/nutenc: add mode that omits the index 2014-05-29 03:37:37 +02:00
nutdec.c avformat/nutdec: improve probe speed by 30% 2014-06-24 18:40:40 +02:00
nutenc.c Merge commit 'd754ed41727b1fcbab335b510248a9758a73320c' 2014-06-18 17:47:12 +02:00
nuv.c
oggdec.c
oggdec.h Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f' 2014-05-28 13:02:19 +02:00
oggenc.c Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
oggparsecelt.c Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f' 2014-05-28 13:02:19 +02:00
oggparsedirac.c
oggparseflac.c Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f' 2014-05-28 13:02:19 +02:00
oggparseogm.c Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f' 2014-05-28 13:02:19 +02:00
oggparseopus.c Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f' 2014-05-28 13:02:19 +02:00
oggparseskeleton.c
oggparsespeex.c Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f' 2014-05-28 13:02:19 +02:00
oggparsetheora.c Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f' 2014-05-28 13:02:19 +02:00
oggparsevorbis.c avformat/oggparsevorbis: Dont attempt to calculate timestamps from gp=0 2014-06-11 18:12:14 +02:00
oggparsevp8.c Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f' 2014-05-28 13:02:19 +02:00
oma.c
oma.h
omadec.c
omaenc.c Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228' 2014-06-18 17:28:10 +02:00
options.c
options_table.h Allow values >31bit for -analyzeduration. 2014-06-10 14:28:34 +02:00
os_support.c
os_support.h
paf.c
pcm.c
pcm.h
pcmdec.c Autodetect Asterisk raw pcm with extension "sln". 2014-05-22 15:15:04 +02:00
pcmenc.c
pjsdec.c
pmpdec.c
psxstr.c
pva.c
pvfdec.c
qcp.c
qtpalette.h
r3d.c
rawdec.c avformat/rawdec: Increase probe score when "Content-Type: image/jpeg" is found at the file start 2014-06-10 14:42:19 +02:00
rawdec.h avformat/rawdec: add FF_DEF_RAWVIDEO_DEMUXER2, which allows specifying the flags 2014-06-10 14:20:39 +02:00
rawenc.c Fix the mime types for MPEG and MPEG-TS formats 2014-05-22 23:34:59 +02:00
rawenc.h
rawvideodec.c
rdt.c Merge commit '8692e6284f5169257a537c8fc25addf32fc67c87' 2014-05-24 13:21:33 +02:00
rdt.h
realtextdec.c
redspark.c
replaygain.c
replaygain.h
riff.c
riff.h Merge commit 'd754ed41727b1fcbab335b510248a9758a73320c' 2014-06-18 17:47:12 +02:00
riffdec.c
riffenc.c Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
rl2.c
rm.c
rm.h
rmdec.c Replace av_malloc() and memset(0) by av_mallocz() 2014-06-22 18:43:11 +02:00
rmenc.c Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
rmsipr.c
rmsipr.h
rpl.c
rsd.c
rso.c
rso.h
rsodec.c
rsoenc.c Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228' 2014-06-18 17:28:10 +02:00
rtmp.h
rtmpcrypt.c
rtmpcrypt.h
rtmpdh.c
rtmpdh.h
rtmphttp.c
rtmppkt.c Merge commit '3b18857ab301d2a0b3e86e9d85eed76f0798a29c' 2014-06-01 23:56:22 +02:00
rtmppkt.h Merge commit '3b18857ab301d2a0b3e86e9d85eed76f0798a29c' 2014-06-01 23:56:22 +02:00
rtmpproto.c Merge commit '59cb5747ec3c5cd842b94e574c37889521c97cc4' 2014-06-02 00:32:30 +02:00
rtp.c
rtp.h
rtpdec.c
rtpdec.h
rtpdec_amr.c
rtpdec_asf.c
rtpdec_formats.h
rtpdec_g726.c
rtpdec_h263.c
rtpdec_h263_rfc2190.c
rtpdec_h264.c
rtpdec_ilbc.c
rtpdec_jpeg.c
rtpdec_latm.c
rtpdec_mpeg4.c
rtpdec_mpeg12.c
rtpdec_mpegts.c
rtpdec_qcelp.c
rtpdec_qdm2.c
rtpdec_qt.c
rtpdec_svq3.c
rtpdec_vp8.c
rtpdec_xiph.c
rtpenc.c Merge commit 'cfbdd7ffbd9fe14d110fd1bb89bf52f0f7bde016' 2014-06-18 17:27:06 +02:00
rtpenc.h
rtpenc_aac.c
rtpenc_amr.c
rtpenc_chain.c Merge commit 'f797b134cad4d248b1c8955659997980d0668bc3' 2014-05-31 12:53:46 +02:00
rtpenc_chain.h
rtpenc_h263.c
rtpenc_h263_rfc2190.c
rtpenc_h264.c
rtpenc_jpeg.c
rtpenc_latm.c
rtpenc_mpv.c
rtpenc_vp8.c
rtpenc_xiph.c
rtpproto.c
rtpproto.h
rtsp.c fix several typos 2014-06-20 10:21:31 -08:00
rtsp.h
rtspcodes.h
rtspdec.c avformat/rtspdec: Use av_mallocz_array() 2014-05-27 20:42:50 +02:00
rtspenc.c
samidec.c
sapdec.c
sapenc.c Merge commit 'f797b134cad4d248b1c8955659997980d0668bc3' 2014-05-31 12:53:46 +02:00
sauce.c
sauce.h
sbgdec.c
sctp.c
sdp.c
sdr2.c
seek-test.c
seek.c
seek.h
segafilm.c
segment.c
sierravmd.c
siff.c
smacker.c
smjpeg.c
smjpeg.h
smjpegdec.c
smjpegenc.c
smoothstreamingenc.c avformat/smoothstreamingenc: Use av_mallocz_array() 2014-06-15 23:21:46 +02:00
smush.c
sol.c
sox.h
soxdec.c
soxenc.c Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228' 2014-06-18 17:28:10 +02:00
spdif.c
spdif.h
spdifdec.c
spdifenc.c
srtdec.c
srtenc.c
srtp.c
srtp.h
srtpproto.c
subfile.c
subtitles.c
subtitles.h
subviewer1dec.c
subviewerdec.c
swf.c
swf.h Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
swfdec.c
swfenc.c Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
takdec.c
tcp.c
tedcaptionsdec.c
tee.c
thp.c
tiertexseq.c
tls.c
tmv.c
tta.c
tty.c
txd.c
udp.c avformat/udp: fix build on MINIX 2014-06-07 14:43:07 +02:00
uncodedframecrcenc.c
unix.c
url-test.c
url.c
url.h
urldecode.c
urldecode.h
utils.c Replace av_malloc() and memset(0) by av_mallocz() 2014-06-22 18:43:11 +02:00
vc1test.c
vc1testenc.c
version.h Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00
vivo.c
voc.c
voc.h
vocdec.c
vocenc.c Merge commit 'f792d3cbb8e8e35c54a9358a55dd596b7a40f228' 2014-06-18 17:28:10 +02:00
vorbiscomment.c Merge commit 'efcde917af407a6031ecff68edd51fce7b83d104' 2014-05-28 13:08:50 +02:00
vorbiscomment.h Merge commit 'efcde917af407a6031ecff68edd51fce7b83d104' 2014-05-28 13:08:50 +02:00
vplayerdec.c
vqf.c
w64.c
w64.h
wavdec.c
wavenc.c avformat/wavenc: simplify malloc failure checking 2014-06-24 13:51:40 +02:00
wc3movie.c
webvttdec.c
webvttenc.c avcodec/webvttenc: add webvtt encoder 2014-05-25 03:04:14 +02:00
westwood_aud.c
westwood_vqa.c
wtv.h
wtv_common.c
wtvdec.c
wtvenc.c
wv.c
wv.h
wvdec.c
wvenc.c
xa.c
xmv.c
xwma.c
yop.c
yuv4mpeg.h
yuv4mpegdec.c
yuv4mpegenc.c Merge commit '194be1f43ea391eb986732707435176e579265aa' 2014-06-18 19:49:17 +02:00