[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