[vlc-devel] Re: Some bugs (+ fixes)

Derk-Jan Hartman d.hartman at student.utwente.nl
Mon Feb 20 14:47:28 CET 2006


On 19-feb-2006, at 16:29, Hans-Peter Fischer wrote:
> 1.
> Movie stops in the middle of last chapter. Example: Artificial Eye  
> DVD "Ivan's Childhood".
>
> Error messages:
> - "dsi->dsi_gi.zero1 == 0" (from libdvdread) and "i_pack_len >=  
> 1024" (from vlc's dvdread access module)
> or:
> - "Expected NAV packet but none found." (when using libdvdnav only)
> My solution:
> In modules/access/dvdread.c, line 1151, replace
> "p_sys->i_next_vobu = p_sys->i_cur_block +
> 	( p_sys->dsi_pack.vobu_sri.next_vobu & 0x7fffffff );"
> by
> "p_sys->i_next_vobu = p_sys->i_cur_block + p_sys->i_pack_len + 1;"

There is a deeper issue here. It seems as if a packet was encountered  
was handled as a DSI, but actually is something else.
It's hard to check without having the actual DVD I fear. You are  
definitely not the first one to run into it, and the issue isn't VLC  
specific either, but I'm weary to making a "work around" for  
something that I don't understand. The issue should be fixed at the  
libdvdread level, and should be fixed properly.

> 2.
>
> With some deinterlace filters (e. g. "blend", I think), vlc exits  
> due to an "Illegal instruction".
> Cause: in modules/video_filter/deinterlace.c, line 225, you check  
> for "CPU_CAPABILITY_MMX". The AMD K6 processor has MMX capability,  
> but does not support the "pavgb" instruction.
>
> My fix for the K6:
> Check for CPU_CAPABILITY_3DNOW and replace pavgb in line 949 by  
> "pavgusb" (and "emms" in line 1004 by "femms"?).

sam? can you look at this please? Or someone else with some knowledge  
about this.

> 3.
>
> Sometimes, DVD subtitles are almost totally transparent. Example:  
> "Platform" from Artificial Eye. (I already reported this bug a  
> couple of years ago.)
>
> My solution:
> In modules/codec/spudec/parse.c, move lines 85 - 88 to line 244.  
> (That's where the warning message "ignoring blank alpha palette" is.)

Next time, please quote lines, and not linenumbers, they change too  
often.
It looks as if what you are doing is to forcefully "unset" the alpha  
palette in case a null alpha palette is received. However reading  
this code, it seems as if someone explicitly created the code like  
this to NOT do that. So something more elaborate is going on I suspect.

This is the specific code addition in question:
http://trac.videolan.org/vlc/changeset/2059

I have no idea who this person is, and what his reasoning was. Sam,  
do you know who he is ?

> 4.
>
> A wishlist item/suggestion: amend line 1987 in modules/video_output/ 
> x11/xcommon.c so that XV_BRIGHTNESS can be set from outside (e. g.  
> via getenv).
> I hope the above will help you to further improve your excellent  
> program.

This is not my turf. Anyone with X11 ?

DJ

-- 
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html



More information about the vlc-devel mailing list