From: Lars Hanisch <dvb@cinnamon-sage.de>
To: linux-media@vger.kernel.org
Subject: ivtv-utils/test/ps-analyzer.cpp: error in extracting SCR?
Date: Thu, 04 Feb 2010 01:18:07 +0100 [thread overview]
Message-ID: <4B6A123F.5080500@cinnamon-sage.de> (raw)
Hi,
I'm writing some code repacking the program stream that ivtv delivers
into a transport stream (BTW: is there existing code for this?). Since
many players needs the PCR I would like to use the SCR of the PS and
place it in the adaption field of the TS (if wikipedia [1] and my
interpretation of it is correct it should be the same).
I stumbled upon the ps-analyzer.cpp in the test-directory of the
ivtv-utils (1.4.0). From line 190 to 198 the SCR and SCR extension are
extracted from the PS-header. But referring to [2] the SCR extension has
9 bits, the highest 2 bits in the fifth byte after the sync bytes and
the lower 7 bits in the sixth byte. The last bit is a marker bit (always 1).
So instead of
scr_ext = (hdr[4] & 0x1) << 8;
scr_ext |= hdr[5];
I think it should be
scr_ext = (unsigned)(hdr[4] & 0x3) << 7;
scr_ext |= (hdr[5] & 0xfe) >> 1;
And the bitrate is coded in the next 22 bits, so it should be
mux_rate = (unsigned)(hdr[6]) << 14;
mux_rate |= (unsigned)(hdr[7]) << 6;
mux_rate |= (unsigned)(hdr[8] & 0xfc) >> 2;
Am I correct?
Regards,
Lars.
[1] http://en.wikipedia.org/wiki/Presentation_time_stamp
[2] http://en.wikipedia.org/wiki/MPEG_program_stream
next reply other threads:[~2010-02-04 0:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-04 0:18 Lars Hanisch [this message]
2010-02-04 3:16 ` ivtv-utils/test/ps-analyzer.cpp: error in extracting SCR? Andy Walls
2010-02-04 7:25 ` Hans Verkuil
2010-02-04 18:50 ` Lars Hanisch
2010-02-07 20:36 ` Lars Hanisch
2010-02-07 20:53 ` Andy Walls
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4B6A123F.5080500@cinnamon-sage.de \
--to=dvb@cinnamon-sage.de \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.