[vdr] Re : vdr 1.7.10 no record channel

Reinhard Nissl rnissl at gmx.de
Wed Jun 30 22:29:59 CEST 2010


Hi,

Am 30.06.2010 16:47, schrieb Senufo:

> I read the ISO / IEC 13818-2: 1995 for trying to better understand how
> is the detection of I-frames.
> In Chapter 6.2 the header image will begin by picture_start_code
> in remux.c
> 
>  if (scan == 0x00000100) (/ / Picture Start Code
> 
> If I understand the detection of the i-frame is in the
> picture_coding_type according to Table 6-12
> 
> picture_coding_type / coding method
> 000 / forbidden
> 001 / intra-coded (I)
> 010 / predictive-coded (P)
> 011 / bidirectionally-predictive-coded (B)
> 100 / Shall Not Be Used (dc intra-coded (D) in ISO/IEC11172- 2)
> 101 / reserved
> 110 / reserved
> 111 / reserved
> 
> I do not understand this line of code:
> 
> independentFrame = ((Data [i +2]>> 3) & 0x07) == 1 / / I-Frame
> 
> thank you for your answers

Chapter 6.2.3 explains the picture header:

picture_header()      No. of bits   Mnemonic

picture_start_code    32            bslbf
temporal_reference    10            uimsbf
picture_coding_type    3            uimsbf
vbv_delay             16            uimsbf

Data[i + 2] contains 2 LSB of temporal_reference (t),
picture_coding_type (P) and 3 MSB of vbv_delay (v).

So the bits of byte Data[i + 2] look like that:

	ttPPPvvv

And the above code does:

>> 3	000ttPPP
& 0x07	00000PPP
== 1    00000001

If you put 001 for an I frame from the above table for PPP you
see the equation matches.

Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl at gmx.de



More information about the vdr mailing list