[vdr] How to convert a JPEG image to an I-frame?

Reinhard Nissl rnissl at gmx.de
Sun Dec 30 14:51:13 CET 2007


Hi,

Klaus Schmidinger schrieb:

>> I also had a look into the hardware specification. It seems to me that
>> the chip can be switched to a mode where it toggles between the fields
>> automatically. But my coarse understanding of the driver tells me, that
>> the driver doesn't make use of it.
> 
> I followed your lead on the FREEZE command and found that when I change the
> driver's av7110_av.c like this:
> 
> --- av7110_av.c 2007-12-30 12:59:44.204192651 +0100
> +++ av7110_av.c 2007-12-30 14:03:53.048848398 +0100
> @@ -1125,6 +1125,7 @@
>                 dvb_ringbuffer_flush_spinlock_wakeup(&av7110->avout);
>                 ret = play_iframe(av7110, pic->iFrame, pic->size,
>                                   file->f_flags & O_NONBLOCK);
> +               ret = vidcom(av7110, AV_VIDEO_CMD_FREEZE, 1);
>                 break;
>         }
> 
> I get a smooth still picture (might need some thought on what to actually
> use as the 'ret' value). And also your test image field_test.mpg displays
> as shown in your field_test.png (after some short flicker, which apparently
> comes from the phase where the frame is sent several times to fill up the
> card's buffer).

I think sending the frame several times to the card should be omitted then.

Do you think there is the need to distinguish between progressive still
images and interlaced ones?

It might be reasonable to show a frame picture for progressive images
and only the last field picture for interlaced images.

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



More information about the vdr mailing list