[mythtv-commits] Ticket #2171: XVideo: Support padded YUV strides

MythTV mythtv at cvs.mythtv.org
Wed Aug 16 19:08:20 UTC 2006


#2171: XVideo: Support padded YUV strides
-----------------------+----------------------------------------------------
 Reporter:  anonymous  |        Owner:  danielk
     Type:  patch      |       Status:  new    
 Priority:  minor      |    Milestone:  0.21   
Component:  mythtv     |      Version:  head   
 Severity:  low        |   Resolution:         
-----------------------+----------------------------------------------------
Comment (by stuarta):

 with and without 2171-filters-v2.patch applied I'm getting a SEGV changing
 inputs.

 valgrind output
 {{{
 ==11633== Invalid write of size 1
 ==11633==    at 0x401E3C5: memset (mc_replace_strmem.c:477)
 ==11633==    by 0x4743C6D: VideoBuffers::Clear(unsigned, int)
 (videobuffers.cpp:1318)
 ==11633==    by 0x4743CCD: VideoBuffers::Clear(int)
 (videobuffers.cpp:1326)
 ==11633==    by 0x4745FDF: VideoBuffers::CreateBuffers(int, int,
 std::vector<unsigned char*, std::allocator<unsigned char*> >,
 std::vector<YUVInfo, std::allocator<YUVInfo> >) (videobuffers.cpp:1151)
 ==11633==    by 0x47761BC:
 VideoOutputXv::CreateBuffers(VideoOutputSubType) (videoout_xv.cpp:1638)
 ==11633==    by 0x47787C9: VideoOutputXv::InitXVideo()
 (videoout_xv.cpp:886)
 ==11633==    by 0x4778DCA: VideoOutputXv::InitVideoBuffers(MythCodecID,
 bool, bool) (videoout_xv.cpp:718)
 ==11633==    by 0x477978A: VideoOutputXv::InitSetupBuffers()
 (videoout_xv.cpp:1124)
 ==11633==    by 0x477A9C3: VideoOutputXv::InputChanged(int, int, float,
 MythCodecID) (videoout_xv.cpp:228)
 ==11633==    by 0x469545D: NuppelVideoPlayer::ReinitVideo()
 (NuppelVideoPlayer.cpp:599)
 ==11633==    by 0x46959F4: NuppelVideoPlayer::SetVideoParams(int, int,
 double, int, float, FrameScanType) (NuppelVideoPlayer.cpp:876)
 ==11633==    by 0x46CB34C: AvFormatDecoder::InitVideoCodec(AVStream*,
 AVCodecContext*) (avformatdecoder.cpp:1006)
 ==11633==  Address 0x17545C40 is not stack'd, malloc'd or (recently)
 free'd
 }}}

 i'll attach gdb output & frontend --verbose channel,record logs.
 Excerpt from the gdb output. the result of print *vf within
 VideoBuffers::clear

 {{{
 $4 = {codec = FMT_YV12, buf = 0xa5569000 "", height = 576, width = 720,
 bpp = 12, size = 622080, frameNumber = 0, timecode = 0, priv = {0x0, 0x0,
 0x0, 0x0}, qscale_table = 0x0, qstride = 0, interlaced_frame = -1,
 top_field_first = 1, repeat_pict = 0, forcekey = 0, pitches = {720, 360,
 360}, offsets = {0, 414720, 518400}}
 }}}

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/2171#comment:9>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list