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