|
From: Keith W. <ke...@MI...> - 2007-05-14 13:33:46
|
Allison, You're a bit confused on the terminology. MPEG-2 can use FRAME PICTURES or FIELD PICTURES. If it uses frame pictures, they can be INTERLACED or PROGRESSIVE. Much ATSC HDTV content is sent as interlaced frame pictures. The resulting= =20 frame you get from libmpeg2 has the odd field on the odd lines and the=20 even field on the even lines, interlaced together. Hence, an interlaced=20 frame. If the progressive flag is set on the frame (or it's in a progressive=20 sequence), the entire frame is meant to be displayed all at once.=20 Otherwise, the frame is meant to be displayed one field at a time, with=20 the fields separated by the field interval. All that is part of the=20 display process, which libmpeg2 doesn't perform. Hope this helps. Best regards, Keith On Mon, 14 May 2007, hdzhne wrote: > hi, > > I receive mpeg2 data, but it seems strange: > > Structure of very picture is FRAME, I think frame picture need not do=20 > de-interlace. but when the stream playing, there is some sawtooth, so it= =20 > need do de-interlace. > > Frame picture need do de-interlace also? > > > > =3D=3D=3D=3D=3D=3D=3D 2007-05-10 13:54:28 =C4=FA=D4=DA=C0=B4=D0=C5=D6=D0= =D0=B4=B5=C0=A3=BA=3D=3D=3D=3D=3D=3D=3D > >> hi , >> >> how to realize de-interlace in libmpeg2? >> >> which varibles and where can I process de-interlacing(put two fiels into= one frame)? >> >> best, >> >> allison >> >> >> >>> Allison, >>> >>> On Wed, 9 May 2007, hdzhne wrote: >>> >>>> Is "info->display_fbuf->buf" one field or one frame data (my mpeg2 >>>> source is interlaced)? >>> >>> I think it's always a frame. (Not 100% sure in the case of field pictur= es, >>> but nobody seems to use those. I think it's still a frame even when fie= ld >>> pictures are used, in any event.) >> >> If buf[] is always a frame, we need not do any de-interlace. >>> >>>> If I want to do de-interlace before display , may I process >>>> info->display_fbuf->buf directly? >>> >>> Sure. Keep in mind that buf[] is an array of three framebuffers -- Y, C= b, >>> and Cr -- and those will be different sizes. E.g. Y could be 1280x720 a= nd >>> Cb and Cr will be 640x360. >> >> I just display buf[] (convert YUV to RGB) on PC displayer, and can see s= awtooth clear. so I think I need do de-interlace. >> >> >> So, I am still not sure whether de-interlace should be done about diplay= _fbuf->buf[] or not. >> >>> >>> Cheers, >>> Keith >>> >>>> Best, >>>> >>>> allison >>>> >>>> >>>> >>>> =3D=3D=3D=3D=3D=3D=3D 2007-05-08 13:09:18 =A3=BA=3D=3D=3D=3D=3D=3D=3D >>>> >>>>> Allison, >>>>> >>>>> I don't understand exactly what you mean by "SD DV mpeg2 data". DV (a= ka, >>>>> MiniDV) is a different format that does not use MPEG-2. >>>>> >>>>> Assuming you're just referring to interlaced content, there is no per= fect >>>>> way to display interlaced material on a progressive display like a >>>>> computer monitor. >>>>> >>>>> Some deinterlacing techniques include "bobbing" (meaning doubling eac= h >>>>> line in a field) and "weaving" (meaning displaying each frame as a un= it, >>>>> with separate fields woven together). >>>>> >>>>> libmpeg2 does not implement any deinterlacing techniques. It _only_ >>>>> performs the MPEG-2 decoding process. The display process is up to th= e >>>>> application that harnesses libmpeg2. >>>>> >>>>> Some of the applications that can use libmpeg2, and do implement vari= ous >>>>> deinterlacing methods, include mplayer, xine, and vlc. If you want >>>>> good-looking results, you should either implement deinterlacing or us= e one >>>>> of those applications. libmpeg2 does not do this. >>>>> >>>>> Best regards, >>>>> Keith >>>>> >>>>> On Tue, 8 May 2007, hdzhne wrote: >>>>> >>>>>> hi, >>>>>> >>>>>> When I use mpeg2lib to decoder SD DV data, I can see sawtooth cle= ar >>>>>> when there is quick moving in picture. >>>>>> >>>>>> I think it because just deinterlacing is too slow or meet some wrong= =2E PC >>>>>> I used is high performance PC, and can decoder SD DV mpeg2 data abou= t >>>>>> more than 30fps. >>>>>> >>>>>> >>>>>> >>>>>> =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1hdzhne >>>>>> =A1=...@12... >>>>>> =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A12007-05-= 08 >>>>>> >>>>>> >>>> >>>> =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D = =3D =3D =3D >>>> >>>> >>>> =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=D6=C2 >>>> =C0=F1=A3=A1 >>>> >>>> >>>> =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1hdzhne >>>> =A1=...@12... >>>> =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A12007-05-09 >>>> >>>> >> >> =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D = =3D =3D >> >> >> =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=D6=C2 >> =C0=F1=A3=A1 >> >> >> =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1hdzhne >> =A1=...@12... >> =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A12007-05-09 >> >> ------------------------------------------------------------------------= - >> This SF.net email is sponsored by DB2 Express >> Download DB2 Express C - the FREE version of DB2 express and take >> control of your XML. No limits. Just data. Click to get it now. >> http://sourceforge.net/powerbar/db2/ >> _______________________________________________ >> Libmpeg2-devel mailing list >> Lib...@li... >> https://lists.sourceforge.net/lists/listinfo/libmpeg2-devel >> > > =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D = =3D =3D > > > =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=D6=C2 > =C0=F1=A3=A1 > > > =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1hdzhne > =A1=...@12... > =A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A1=A12007-05-14 > > |