[FFmpeg-devel] Fwd: [PATCH] Psygnosis YOP demuxer

Mohamed Naufal naufal11
Sun Dec 27 20:18:51 CET 2009


2009/12/27 Reimar D?ffinger <Reimar.Doeffinger at gmx.de>

[...]


> > +    yop->stream ^= 1;
>
> I think it might be better to do this without extra state, e.g. just
> check if video_packet.buffer is != NULL?
>


Did you mean video_packet.data? If so, I don't understand how it can be done
since data isn't freed after each read.
Could you please elaborate?


>
> > +    if (!yop->stream) {
> > +        ret = av_new_packet(&yop->video_packet,
> > +                            yop->frame_size - yop->sound_chunk_length);
> > +        if (ret < 0)
> > +            return ret;
> > +
> > +        yop->video_packet.pos = url_ftell(pb);
> > +        ret = get_buffer(pb, yop->video_packet.data, palette_size);
> > +        if (ret < 0) {
> > +            return ret;
> > +        } else if (ret < palette_size) {
> > +            yop_free_packets(yop);
> > +            return AVERROR_EOF;
> > +        }
>
> Please use "goto err_out" instead of duplicating the freeing code.
>


Duplication removed by rearranging code.


>
> > +        // 1840 samples per frame, 1 nibble per sample; hence 1840/2 =
> 920
> > +        ret = av_get_packet(pb, &yop->sound_packet, 920);
> > +        if (ret < 920) {
> > +            yop_free_packets(yop);
> > +            return AVERROR_EOF;
> > +        }
>
> Please return partial data where ever it makes even remotely sense.
> The decoder should decide what to do with incomplete/broken data,
> not the demuxer (since the demuxer just can't do anything sensible
> about it).
>


Fixed.
Partial data is now returned for both audio & video packets (except when
palette read fails).

[...]

Other issues have been fixed.

Naufal
-------------- next part --------------
A non-text attachment was scrubbed...
Name: yop_demux.patch
Type: text/x-patch
Size: 7598 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20091228/8d2dae9a/attachment.bin>



More information about the ffmpeg-devel mailing list