[FFmpeg-devel] [PATCH] FLAC parser
Michael Niedermayer
michaelni
Sun Oct 24 15:27:09 CEST 2010
On Sat, Oct 23, 2010 at 04:08:59AM +0200, Michael Chinen wrote:
[...]
> +static int find_new_headers(FLACParseContext *fpc, int search_start)
> +{
> + FLACHeaderMarker *end;
> + int search_end, size = 0, read_len, temp;
> + uint8_t *buf;
> + fpc->nb_headers_found = 0;
> +
> + /* Search for a new header of at most 16 bytes. */
> + search_end = av_fifo_size(fpc->fifo_buf) - (MAX_FRAME_HEADER_SIZE - 1);
> + read_len = search_end - search_start + 1;
> + buf = flac_fifo_read(fpc, search_start, &read_len);
> + size = find_headers_search(fpc, buf, read_len, search_start);
> + search_start += read_len - 1;
> +
> + /* if we hit the fifo end we need a wrap buffer for the two byte wrap around */
> + if (search_start != search_end) {
> + buf = flac_fifo_read_wrap(fpc, search_start, 2,
> + &fpc->wrap_buf, &fpc->wrap_buf_allocated_size);
> + temp = find_headers_search(fpc, buf, 2, search_start);
> + size = FFMAX(size, temp);
> + search_start += 1;
> + }
the 2 bytes can be checked directly and find_headers_search_validate() be called
also i leave further review to the flac maintainer
a bit of further simplification and cleanup would be nice though
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The misfortune of the wise is better than the prosperity of the fool.
-- Epicurus
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20101024/4796fe53/attachment.pgp>
More information about the ffmpeg-devel
mailing list