search for: framenumb

Displaying 7 results from an estimated 7 matches for "framenumb".

Did you mean: framenum
2014 Dec 11
4
Two new CVEs against FLAC
...e conditionally dependent on decoder->private_->is_seeking) but instead implement more sanity checks. For example, it could be checked whether the sample rate, blocksize, number of channels and sample size in the frame header match with those in the stream info, and whether the sample or framenumber is in a sane range. This gives less security than fully decoding the frame, but it ensures the seek process will no longer fail because of these CVE sanity checks. I'm not sure whether this will work, especially when there's no STREAMINFO block. This could be handled by fully decoding...
2014 Dec 15
1
FLAC metadata blocks and seeking
Hi all, A few (possibly dumb) questions about decoding.. 1. Is it possible to know the total size of FLAC metadata blocks in advance? Do I really need to parse all metadata blocks until I see the METADATA_BLOCK_HEADER with last-metadata-block == 1? 2. Is there a generally accepted best-practice for seeking if there is no seektable present in the file? The format states *"It is possible to
2007 Feb 12
1
Number of frames
...theora and libogg. Now, I need to know the duration of a theora movie in frames. I seem to be unable to find that information in the using either libtheora or libogg. Google gave a hit proposing to read the file backwards till the magic "OggS" could be found and then scan forward to the framenumber field could be found. Another way would be to decode all frames to the end of the move, and then count the frames as I decode. Neither approaches seem like the right one. Can anybody tell me if I have missed something obvious or propose a third and better approach? Regards, Morten
2007 Apr 12
0
Seek problem 1 - can't find frame number
...rData(); while (ogg_page_serialno(&page) != tstream.serialno) if (ogg_sync_pageout(&sync, &page) <= 0) bufferData(); const ogg_int64_t actualFrame = theora_granule_frame(&decoder, ogg_page_granulepos(&page)); With some files, this code works fine. But with others, the framenumbers I get at the end have absolutely no resemblance to actual framenumbers. Sometimes they are even an order of magnitude off. Do I have to reinitialize the decode after each jump, just to be able to find the frame number? Or should I instead read the bytes in the file and find the granulepos t...
2007 Apr 12
1
Seek problem 2 - reinitialization of the decoder
..._decode_packetin(&decoder, &packet); int videoBufferTime = theora_granule_time(&decoder, decoder.granulepos); int frameNo = theora_granule_frame(&decoder, decoder.granulepos); if (theora_packet_iskeyframe(&packet) == 1) { ... The problem is that the time and framenumber are not correct - in fact they are offset with something that's either completely random or influenced by whatever state the decoder had before the seek (I don't know which). So my immediate fix was to just read until the first keyframe and then assume the decoder picks up from there....
2014 Dec 11
2
Two new CVEs against FLAC
Erik de Castro Lopo wrote: > I think I have an alternative fix for the CVE which should not break > seeking. I'm working on getting an copy of the file with which to test. Patch applied and pushed. commit b4b2910bdca010808ccf2799f55562fa91f4347b Author: Erik de Castro Lopo <erikd at mega-nerd.com> Date: Wed Dec 10 18:54:16 2014 +1100
2003 Jun 12
3
A/V sync in Theora
Hi, I've been thinking about how a Theora encoder could be integrated into mencoder or transcode and I'm not sure whether I understand the A/V sync strategy of Theora/Vorbis correctly. When transcoding from some video format (ie MPEG2 or DivX), at least some images of the video stream will have time stamps, as well as the fragments of the audio stream. Or at least time stamps can be