[FFmpeg-devel] NC camera patch
Sat Jan 10 00:10:07 CET 2009
> nicolas martin wrote:
>> Hi all,
>> I finally made some code to read the camera feed sent by NC46** types
>> Thanks for reading and sharing your thoughts !
> The format looks quite simple and your code quite complicated.
> Maybe I missed some subtlety in the format.
> So let me first describe the format as I understand it:
> Each frame is composed of:
> - A header (16 bytes)
> * 4 bytes : a flag (eg: 0x1A5 (big-endian))
> * 1 byte : unknown/unused
> * 2 bytes : data_size (only when flag == 0x1A5)
> * 9 bytes : unknown/unused
> - MPEG4 data frame (data_size bytes)
> Please correct me if there's something wrong here.
Yeah, that's it !
> If my description is right, you could write your frame reader
> function trivially, with something like that:
> flag = get_be32(pb);
> size = get_le16(pb);
> url_fskip(pb, 9);
> if (flag != 0x1A5)
> /* error handling */;
> av_new_packet(pkt, size)
> get_buffer(pb, pkt->data, size);
> You need some more error checking, etc...
> But basically, this code should be enough.
Well you definitely have it ...
I didn't read a lot of code in ffmpeg, and so I thought I had to use
get_partial_buffer at any cost.
Once you know, you can read as many bytes as you need, then definitely
this code is way much simpler.
> BTW: you should upload a sample file like described in  to allow
> other developers to test your code.
I will do it !
> Oh, and your nc_read_header() seems to contain code which is
> totally unrelated to your format (MJPEG, DIRAC, etc...).
> And you don't need to use s->iformat->value if it's hardcoded
> to MPEG4.
I really don't know what to put there.
In fact, I copied a chunk of code, I found in raw.c.
The only thing I needed was to initialize my structure, that seems
quite useless now !
So what should I put in it, now that I don't have to use a structure
>  http://ffmpeg.org/bugreports.html
> ffmpeg-devel mailing list
> ffmpeg-devel at mplayerhq.hu
More information about the ffmpeg-devel