[FFmpeg-devel] [PATCH]Autodetect raw flac files
Michael Niedermayer
michaelni at gmx.at
Fri Apr 10 02:24:12 CEST 2015
On Fri, Apr 10, 2015 at 12:13:28AM +0200, Carl Eugen Hoyos wrote:
> On Thursday 09 April 2015 03:46:42 pm Michael Niedermayer wrote:
> > On Thu, Apr 09, 2015 at 01:21:32PM +0200, Carl Eugen Hoyos wrote:
> > > Hi!
> > >
> > > Attached patch allows to autodetect headerless flac files.
> > >
> > > Please comment, Carl Eugen
> > >
> > > flacdec.c | 2 ++
> > > 1 file changed, 2 insertions(+)
> > > 393c746cefb2dd386719591734f01d6df2ca124c patchflac.diff
> > > diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c
> >
> > i would slightly prefer if more bytes are checked
>
> New patch attached.
>
> Please review, Carl Eugen
> flacdec.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
> d7ff2f6ba64db8feab2032208f61d998aadd00bf patchflac2.diff
> diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c
> index 1a8dc19..f3d0689 100644
> --- a/libavformat/flacdec.c
> +++ b/libavformat/flacdec.c
> @@ -178,6 +178,14 @@ fail:
>
> static int flac_probe(AVProbeData *p)
> {
> + if ( (AV_RB16(p->buf) & 0xFFFE) == 0xFFF8
> + && p->buf[2] & 0xF0 // blocksize code != 0
> + && p->buf[2] & 0x0F ^ 0x0F // sample rate code < 15
> + && (p->buf[3] & 0xF0) < FLAC_MAX_CHANNELS + FLAC_CHMODE_MID_SIDE << 4
> + // channel mode < 11
> + && p->buf[3] & 0x06 ^ 0x06 // bits per sample code valid
> + && p->buf[3] ^ 1) // reserved bit not set
is this missing a "& 1" ?
just guessing from "bit" in the comment
also maybe write it as seperate function
so that it can be written as a series of if() instead of a long
chain of &&, should be looking cleaner
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
DNS cache poisoning attacks, popular search engine, Google internet authority
dont be evil, please
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150410/a29da938/attachment.asc>
More information about the ffmpeg-devel
mailing list