Opened 12 years ago
Last modified 12 years ago
#2038 new defect
mencoder now encodes PCM audio in MOV as 'RLE'
Reported by: | Owned by: | reimar | |
---|---|---|---|
Priority: | normal | Component: | mencoder |
Version: | HEAD | Severity: | normal |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Reproduced by developer: | no | Analyzed by developer: | no |
Description
mplayer SVN r34243 changed how codec id/tag conversion works. Prior to that commit, encoding -oac pcm in MOV used 'twos' (CODEC_ID_PCM_S16LE) audio codec tag, now it uses 'WRLE' (CODEC_ID_MSRLE).
mencoder input.AVI -of lavf -lavfopts format=mov -ovc raw -vf format=uyvy -ffourcc 2vuy -oac pcm -o output.mov
Prior to r34243 this would output the following, and use 'twos' as the audio tag:
VIDEO CODEC ID: 14
AUDIO CODEC ID: 10000, TAG: 0
(CODEC_ID_PCM_S16LE==0x10000)
Now it outputs the following, and uses 'WRLE' as the audio tag:
VIDEO CODEC ID: 14
AUDIO CODEC ID: 2e, TAG: 0
(CODEC_ID_MSRLE==0x2e)
Specifying -fafmttag has no effect.
Attachments (1)
Change History (2)
by , 12 years ago
Attachment: | pcm_codec_tag.diff added |
---|
comment:1 by , 12 years ago
mp_tag2codec_id() is looking up the id in the ffmpeg avi_muxer codec_tag list via av_codec_get_id() - but this list contains video tags first then audio tags. So the pcm tag was matching the CODEC_ID_MSRLE id (which has tag==1) before getting to the audio tags.
This patch looks up the id in either the ffmpeg avi muxer (for video tags) or wav muxer (for audio tags).
lookup codec_tag in wav muxer if audio