[FFmpeg-devel] [PATCH] Core Audio Format demuxer
Baptiste Coudurier
baptiste.coudurier
Mon Aug 10 00:40:28 CEST 2009
Hi Peter,
First, thanks a lot for doing this.
On 8/9/2009 2:41 AM, Peter Ross wrote:
> [...]
>
> get_be32(pb); /* version + flags */
> - len = mp4_read_descr(c, pb,&tag);
> + len = mp4_read_descr(fc, pb,&tag);
Take the opportunity to add a space here, before & :)
> if (tag == MP4ESDescrTag) {
> get_be16(pb); /* ID */
> get_byte(pb); /* priority */
> } else
> get_be16(pb); /* ID */
>
> - len = mp4_read_descr(c, pb,&tag);
> + len = mp4_read_descr(fc, pb,&tag);
Same.
> if (tag == MP4DecConfigDescrTag) {
> int object_type_id = get_byte(pb);
> get_byte(pb); /* stream type */
> @@ -419,10 +419,10 @@ static int mov_read_esds(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
> get_be32(pb); /* avg bitrate */
>
> st->codec->codec_id= ff_codec_get_id(ff_mp4_obj_type, object_type_id);
> - dprintf(c->fc, "esds object type id %d\n", object_type_id);
> - len = mp4_read_descr(c, pb,&tag);
> + dprintf(fc, "esds object type id %d\n", object_type_id);
> + len = mp4_read_descr(fc, pb,&tag);
Ditto.
> [...]
>
> @@ -454,6 +454,11 @@ static int mov_read_esds(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
> return 0;
> }
>
> +static int mov_read_esds(MOVContext *c, ByteIOContext *pb, MOVAtom atom)
> +{
> + return ff_mov_read_esds(c->fc, pb);
I'd prefer if ff_mv_read_esds would take the size of the atom as
parameter, even if it is not checked yet.
Except that I'm ok with the patch to mov.c
> [...]
>
> + /* FIXME: use dv demuxer, as done in mov */
> + /*{ CODEC_ID_DVAUDIO, MKBETAG('v','d','v','a') },*/
> + /*{ CODEC_ID_DVAUDIO, MKBETAG('d','v','c','a') },*/
Or a parser that extract audio from the dvvideo frame :)
> + { CODEC_ID_ADPCM_IMA_QT, MKBETAG('i','m','a','4') },
> + { CODEC_ID_MACE3, MKBETAG('M','A','C','3') },
> + { CODEC_ID_MACE6, MKBETAG('M','A','C','6') },
> + { CODEC_ID_MP3, MKBETAG('.','m','p','3') },
> + { CODEC_ID_MP3, MKBETAG('.','m','p','2') }, // mp2 decoding
CODEC_ID_MP2
> + { CODEC_ID_MP3, MKBETAG('.','m','p','1') },
CODEC_ID_MP1
> + { CODEC_ID_MP2, MKBETAG('.','m','p','2') }, // mp2 encoding
Duplicate ?
> [...]
>
> + { CODEC_ID_PCM_S8, MKBETAG('l','p','c','m') },
> + { CODEC_ID_PCM_S16BE, MKBETAG('l','p','c','m') },
> + { CODEC_ID_PCM_S16LE, MKBETAG('l','p','c','m') },
> + { CODEC_ID_PCM_S24BE, MKBETAG('l','p','c','m') },
> + { CODEC_ID_PCM_S24LE, MKBETAG('l','p','c','m') },
> + { CODEC_ID_PCM_S32BE, MKBETAG('l','p','c','m') },
> + { CODEC_ID_PCM_S32LE, MKBETAG('l','p','c','m') },
> + { CODEC_ID_PCM_F32BE, MKBETAG('l','p','c','m') },
> + { CODEC_ID_PCM_F32LE, MKBETAG('l','p','c','m') },
> + { CODEC_ID_PCM_F64BE, MKBETAG('l','p','c','m') },
> + { CODEC_ID_PCM_F64LE, MKBETAG('l','p','c','m') },
If only demuxer is implemented you don't need all these 'lpcm' entries yet.
[...]
--
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
FFmpeg maintainer http://www.ffmpeg.org
More information about the ffmpeg-devel
mailing list