You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
(64) |
Apr
(79) |
May
(29) |
Jun
(8) |
Jul
(8) |
Aug
(43) |
Sep
(24) |
Oct
(41) |
Nov
(41) |
Dec
(50) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(72) |
Feb
(78) |
Mar
(87) |
Apr
(24) |
May
(43) |
Jun
(25) |
Jul
(6) |
Aug
(39) |
Sep
(26) |
Oct
(66) |
Nov
(78) |
Dec
(100) |
2004 |
Jan
(69) |
Feb
(44) |
Mar
(41) |
Apr
(60) |
May
(28) |
Jun
(14) |
Jul
(31) |
Aug
(40) |
Sep
(22) |
Oct
(12) |
Nov
(58) |
Dec
(112) |
2005 |
Jan
(57) |
Feb
(37) |
Mar
(29) |
Apr
(15) |
May
(62) |
Jun
(40) |
Jul
(8) |
Aug
(33) |
Sep
(37) |
Oct
(47) |
Nov
(62) |
Dec
(38) |
2006 |
Jan
(37) |
Feb
(29) |
Mar
(24) |
Apr
(5) |
May
(13) |
Jun
(21) |
Jul
(13) |
Aug
(16) |
Sep
(11) |
Oct
(10) |
Nov
(17) |
Dec
(8) |
2007 |
Jan
(7) |
Feb
(18) |
Mar
(5) |
Apr
(18) |
May
(7) |
Jun
|
Jul
|
Aug
(3) |
Sep
(4) |
Oct
(3) |
Nov
(5) |
Dec
(7) |
2008 |
Jan
(9) |
Feb
(2) |
Mar
(6) |
Apr
(2) |
May
(3) |
Jun
|
Jul
|
Aug
(1) |
Sep
(1) |
Oct
|
Nov
(7) |
Dec
(3) |
2009 |
Jan
(7) |
Feb
|
Mar
|
Apr
(8) |
May
(7) |
Jun
(4) |
Jul
|
Aug
(3) |
Sep
(8) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
(2) |
Feb
|
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
(4) |
Oct
(6) |
Nov
|
Dec
(2) |
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2013 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(10) |
Oct
(17) |
Nov
(1) |
Dec
(5) |
2014 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(17) |
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(3) |
Dec
(3) |
From: Steven S. <sm...@us...> - 2014-10-25 00:10:34
|
Update of /cvsroot/mjpeg/mjpeg_play/y4mutils In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv5562 Modified Files: qttoy4m.c Log Message: remove hack added to compensate for libquicktime breakage. As of 2014/10/24 libquicktime was fixed. Index: qttoy4m.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/y4mutils/qttoy4m.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** qttoy4m.c 13 Oct 2014 23:06:18 -0000 1.12 --- qttoy4m.c 25 Oct 2014 00:10:32 -0000 1.13 *************** *** 154,171 **** height = quicktime_video_height(file, vtrack); - /* - * HACK alert. - * - * libquicktime's behaviour has changed, at least for 2vuy and similar files. - * The color model in the codec used to be initialized by this point but now - * is not. This was causing all but ffmpeg based codecs to fail the is_yuv - * test below. The workaround is to call lqt_get_decoder_colormodel(), this - * completes the codec initialization but nothing else. - * - * DON'T check the status - the first call "fails" but has called the codec - * decode initialiation. A 2nd call to lqt_get_decoder_colormodel will "succeed" - */ - lqt_get_decoder_colormodel(file, vtrack); - cmodel = lqt_get_cmodel(file, vtrack); omodel = 0; --- 154,157 ---- |
From: Steven S. <sm...@us...> - 2014-10-13 23:06:21
|
Update of /cvsroot/mjpeg/mjpeg_play/y4mutils In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv32204 Modified Files: qttoy4m.c Log Message: libquicktime seems to have altered behaviour - the colormodel is no longer being set automatically on open for non ffmpeg codecs. Index: qttoy4m.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/y4mutils/qttoy4m.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** qttoy4m.c 25 Jun 2006 02:36:35 -0000 1.11 --- qttoy4m.c 13 Oct 2014 23:06:18 -0000 1.12 *************** *** 154,157 **** --- 154,171 ---- height = quicktime_video_height(file, vtrack); + /* + * HACK alert. + * + * libquicktime's behaviour has changed, at least for 2vuy and similar files. + * The color model in the codec used to be initialized by this point but now + * is not. This was causing all but ffmpeg based codecs to fail the is_yuv + * test below. The workaround is to call lqt_get_decoder_colormodel(), this + * completes the codec initialization but nothing else. + * + * DON'T check the status - the first call "fails" but has called the codec + * decode initialiation. A 2nd call to lqt_get_decoder_colormodel will "succeed" + */ + lqt_get_decoder_colormodel(file, vtrack); + cmodel = lqt_get_cmodel(file, vtrack); omodel = 0; *************** *** 160,168 **** mjpeg_error_exit1("Color space '%s' not Y'CbCr", lqt_colormodel_to_string(cmodel)); - if (lqt_colormodel_has_alpha(cmodel) == 1) mjpeg_error_exit1("Color space '%s' has alpha channel", ! lqt_colormodel_to_string(cmodel)); ! y4m_accept_extensions(1); --- 174,180 ---- mjpeg_error_exit1("Color space '%s' not Y'CbCr", lqt_colormodel_to_string(cmodel)); if (lqt_colormodel_has_alpha(cmodel) == 1) mjpeg_error_exit1("Color space '%s' has alpha channel", ! lqt_colormodel_to_string(cmodel)); y4m_accept_extensions(1); |
From: Steven S. <sm...@us...> - 2014-08-13 16:02:01
|
Update of /cvsroot/mjpeg/mjpeg_play/mplex In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv14856 Modified Files: videostrm_in.cpp Log Message: Updated patch for end of stream handling Index: videostrm_in.cpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/videostrm_in.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** videostrm_in.cpp 8 Aug 2014 19:10:32 -0000 1.14 --- videostrm_in.cpp 13 Aug 2014 16:01:59 -0000 1.15 *************** *** 291,316 **** } ! // make sure the last AU gets added at the end of the stream ! if (bs.eos() && AU_pict_data) ! { ! stream_length = bs.bitcount(); ! access_unit.start = AU_start; ! access_unit.length = static_cast<int>(stream_length - AU_start)>>3; ! access_unit.end_seq = 0; ! avg_frames[access_unit.type-1]+=access_unit.length; ! mjpeg_debug( "LAST AU %d %d %d @ %lld: DTS=%ud", ! decoding_order, ! access_unit.type, ! access_unit.length, ! bs.bitcount() / 8-4, ! static_cast<unsigned int>(access_unit.DTS/300) ); ! aunits.Append( access_unit ); ! decoding_order++; ! AU_hdr = syncword; ! AU_start = stream_length; ! AU_pict_data = 0; ! } last_buffered_AU = decoding_order; --- 291,315 ---- } ! // make sure the last AU gets added at the end of the stream, ! // unless the stream contains a sequence end header ! if (bs.eos() && AU_pict_data && num_seq_end == 0) ! { ! stream_length = bs.bitcount(); ! access_unit.start = AU_start; ! access_unit.length = static_cast<int>(stream_length - AU_start)>>3; ! access_unit.end_seq = 0; ! avg_frames[access_unit.type-1]+=access_unit.length; ! mjpeg_debug( "LAST AU %d %d %d @ %lld: DTS=%ud", ! decoding_order, access_unit.type, access_unit.length, ! bs.bitcount() / 8-4, ! static_cast<unsigned int>(access_unit.DTS/300) ); ! aunits.Append( access_unit ); ! decoding_order++; ! AU_hdr = syncword; ! AU_start = stream_length; ! AU_pict_data = 0; ! } last_buffered_AU = decoding_order; |
From: Steven S. <sm...@us...> - 2014-08-08 19:10:34
|
Update of /cvsroot/mjpeg/mjpeg_play/mplex In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv9335 Modified Files: videostrm_in.cpp Log Message: Patch from Darrell Walisser to fix bug of dropping ast access unit / frame from input video stream when end of stream encountered. Index: videostrm_in.cpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/videostrm_in.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** videostrm_in.cpp 9 Dec 2005 20:05:26 -0000 1.13 --- videostrm_in.cpp 8 Aug 2014 19:10:32 -0000 1.14 *************** *** 28,33 **** #include "multiplexor.hpp" - - static void marker_bit (IBitStream &bs, unsigned int what) { --- 28,31 ---- *************** *** 39,43 **** } - void VideoStream::ScanFirstSeqHeader() { --- 37,40 ---- *************** *** 71,77 **** } - - - void VideoStream::Init ( const int stream_num ) { --- 68,71 ---- *************** *** 84,90 **** muxinto.always_buffers_in_video); mjpeg_info( "Scanning for header info: Video stream %02x (%s) ", ! VIDEO_STR_0+stream_num, ! bs.StreamName() ! ); SetBufSize( 4*1024*1024 ); --- 78,82 ---- muxinto.always_buffers_in_video); mjpeg_info( "Scanning for header info: Video stream %02x (%s) ", ! VIDEO_STR_0+stream_num, bs.StreamName()); SetBufSize( 4*1024*1024 ); *************** *** 161,165 **** if( AU_pict_data ) { ! /* Handle the header *ending* an AU... If we have the AU picture data an AU and have now --- 153,157 ---- if( AU_pict_data ) { ! /* Handle the header *ending* an AU... If we have the AU picture data an AU and have now *************** *** 173,179 **** { case SEQUENCE_HEADER : ! mjpeg_debug( "Seq hdr @ %lld", bs.bitcount() / 8-4 ); case GROUP_START : ! mjpeg_debug( "Group hdr @ %lld", bs.bitcount() / 8-4 ); case PICTURE_START : access_unit.start = AU_start; --- 165,171 ---- { case SEQUENCE_HEADER : ! mjpeg_debug("Seq hdr @ %lld",bs.bitcount() / 8-4); case GROUP_START : ! mjpeg_debug("Group hdr @ %lld",bs.bitcount()/8-4); case PICTURE_START : access_unit.start = AU_start; *************** *** 182,194 **** avg_frames[access_unit.type-1]+=access_unit.length; mjpeg_debug( "AU %d %d %d @ %lld: DTS=%ud", ! decoding_order, ! access_unit.type, ! access_unit.length, ! bs.bitcount() / 8-4, ! static_cast<unsigned int>(access_unit.DTS/300) ); ! ! ! aunits.Append( access_unit ); ! decoding_order++; AU_hdr = syncword; AU_start = stream_length; --- 174,182 ---- avg_frames[access_unit.type-1]+=access_unit.length; mjpeg_debug( "AU %d %d %d @ %lld: DTS=%ud", ! decoding_order, access_unit.type, ! access_unit.length, bs.bitcount() / 8-4, ! static_cast<unsigned int>(access_unit.DTS/300) ); ! aunits.Append( access_unit ); ! decoding_order++; AU_hdr = syncword; AU_start = stream_length; *************** *** 215,222 **** else { ! if( !bs.eos() && muxinto.split_at_seq_end ) ! mjpeg_warn("No seq. header starting new sequence after seq. end!"); } ! decoding_order++; num_seq_end++; break; --- 203,210 ---- else { ! if( !bs.eos() && muxinto.split_at_seq_end ) ! mjpeg_warn("No seq. header starting new sequence after seq. end!"); } ! decoding_order++; num_seq_end++; break; *************** *** 232,290 **** num_sequence++; break; - case GROUP_START: num_groups++; break; - case PICTURE_START: /* We have reached AU's picture data... */ AU_pict_data = 1; ! mjpeg_debug( "Picture start @ %lld", bs.bitcount() / 8-4 ); ! ! prev_temp_ref = temporal_reference; temporal_reference = bs.GetBits( 10); access_unit.type = bs.GetBits( 3); ! /* Now scan forward a little for an MPEG-2 picture coding extension ! so we can get pulldown info (if present). We ignore the possibility ! MPEG-1's ghastly 'extra_information_picture' bytes. So the extension ! must come in under 9 bytes (4 for the sync-code itself 5 for the rest ! of the picture header) ! */ ! if( bs.SeekSync(EXT_START_CODE, 32, 9) && bs.GetBits(4) == CODING_EXT_ID) { ! /* Skip: 4 F-codes (4)... */ ! (void)bs.GetBits(16); ! /* Skip: DC Precision(2) */ ! (void)bs.GetBits(2); ! pict_struct = bs.GetBits(2); ! /* Skip: topfirst (1) frame pred dct (1), ! concealment_mv(1), q_scale_type (1), */ ! (void)bs.GetBits(4); ! /* Skip: intra_vlc_format(1), alternate_scan (1) */ ! (void)bs.GetBits(2); ! repeat_first_field = bs.Get1Bit(); ! pulldown_32 |= repeat_first_field; } ! else { ! repeat_first_field = 0; ! pict_struct = PIC_FRAME; } ! ! if( access_unit.type == IFRAME ) { ! double bits_persec = ! static_cast<double>( stream_length - prev_offset) ! * 2.0 * frame_rate ! / static_cast<double>(fields_presented - group_start_field); ! if( bits_persec > max_bits_persec ) { ! max_bits_persec = bits_persec; } ! prev_offset = stream_length; ! group_start_pic = decoding_order; ! group_start_field = fields_presented; } --- 220,274 ---- num_sequence++; break; case GROUP_START: num_groups++; break; case PICTURE_START: /* We have reached AU's picture data... */ AU_pict_data = 1; ! mjpeg_debug("Picture start @ %lld",bs.bitcount() / 8-4); ! prev_temp_ref = temporal_reference; temporal_reference = bs.GetBits( 10); access_unit.type = bs.GetBits( 3); ! /* Now scan forward a little for an MPEG-2 picture coding extension ! so we can get pulldown info (if present). We ignore the possibility ! MPEG-1's ghastly 'extra_information_picture' bytes. So the extension ! must come in under 9 bytes (4 for the sync-code itself 5 for the rest ! of the picture header) ! */ ! if ( bs.SeekSync(EXT_START_CODE, 32, 9) && bs.GetBits(4) == CODING_EXT_ID) { ! /* Skip: 4 F-codes (4)... */ ! (void)bs.GetBits(16); ! /* Skip: DC Precision(2) */ ! (void)bs.GetBits(2); ! pict_struct = bs.GetBits(2); ! /* Skip: topfirst (1) frame pred dct (1), ! concealment_mv(1), q_scale_type (1), */ ! (void)bs.GetBits(4); ! /* Skip: intra_vlc_format(1), alternate_scan (1) */ ! (void)bs.GetBits(2); ! repeat_first_field = bs.Get1Bit(); ! pulldown_32 |= repeat_first_field; } ! else { ! repeat_first_field = 0; ! pict_struct = PIC_FRAME; } ! ! if ( access_unit.type == IFRAME ) { ! double bits_persec = ! static_cast<double>(stream_length - prev_offset) ! * 2.0 * frame_rate / static_cast<double>(fields_presented - group_start_field); ! if ( bits_persec > max_bits_persec ) { ! max_bits_persec = bits_persec; } ! prev_offset = stream_length; ! group_start_pic = decoding_order; ! group_start_field = fields_presented; } *************** *** 293,320 **** access_unit.dorder = decoding_order; access_unit.porder = temporal_reference + group_start_pic; - access_unit.seq_header = ( AU_hdr == SEQUENCE_HEADER); if ((access_unit.type>0) && (access_unit.type<5)) - { num_frames[access_unit.type-1]++; - } - if ( decoding_order >= old_frames+1000 ) ! { ! mjpeg_debug("Got %d picture headers.", decoding_order); ! old_frames = decoding_order; ! } ! break; - - - } } last_buffered_AU = decoding_order; ! num_pictures = decoding_order; eoscan = bs.eos() || muxinto.AfterMaxPTS(access_unit.PTS); } --- 277,319 ---- access_unit.dorder = decoding_order; access_unit.porder = temporal_reference + group_start_pic; access_unit.seq_header = ( AU_hdr == SEQUENCE_HEADER); if ((access_unit.type>0) && (access_unit.type<5)) num_frames[access_unit.type-1]++; if ( decoding_order >= old_frames+1000 ) ! { ! mjpeg_debug("Got %d picture headers",decoding_order); ! old_frames = decoding_order; ! } break; } } + // make sure the last AU gets added at the end of the stream + if (bs.eos() && AU_pict_data) + { + stream_length = bs.bitcount(); + access_unit.start = AU_start; + access_unit.length = static_cast<int>(stream_length - AU_start)>>3; + access_unit.end_seq = 0; + avg_frames[access_unit.type-1]+=access_unit.length; + + mjpeg_debug( "LAST AU %d %d %d @ %lld: DTS=%ud", + decoding_order, + access_unit.type, + access_unit.length, + bs.bitcount() / 8-4, + static_cast<unsigned int>(access_unit.DTS/300) ); + + aunits.Append( access_unit ); + decoding_order++; + AU_hdr = syncword; + AU_start = stream_length; + AU_pict_data = 0; + } + last_buffered_AU = decoding_order; ! num_pictures = decoding_order; eoscan = bs.eos() || muxinto.AfterMaxPTS(access_unit.PTS); } *************** *** 326,341 **** stream_length = bs.bitcount() / 8; ! for( int i=0; i<4; i++) { ! avg_frames[i] /= num_frames[i] == 0 ? 1 : num_frames[i]; } /* Average and Peak bit rate in 50B/sec units... */ comp_bit_rate = ! static_cast<unsigned int>( static_cast<unsigned int>( stream_length / fields_presented * 2 ) ! * frame_rate + 25) / 50; ! peak_bit_rate = static_cast<unsigned int>((max_bits_persec / 8 + 25) / 50); ! mjpeg_info ("VIDEO_STATISTICS: %02x", stream_id); mjpeg_info ("Video Stream length: %11llu bytes", stream_length); mjpeg_info ("Sequence headers: %8u",num_sequence); --- 325,340 ---- stream_length = bs.bitcount() / 8; ! for ( int i=0; i<4; i++) { ! avg_frames[i] /= num_frames[i] == 0 ? 1 : num_frames[i]; } /* Average and Peak bit rate in 50B/sec units... */ comp_bit_rate = ! static_cast<unsigned int>( static_cast<unsigned int>( stream_length / fields_presented * 2 ) * frame_rate + 25) / 50; ! peak_bit_rate = static_cast<unsigned int>((max_bits_persec / 8 + 25) / 50); ! ! mjpeg_info ("VIDEO_STATISTICS: %02x", stream_id); mjpeg_info ("Video Stream length: %11llu bytes", stream_length); mjpeg_info ("Sequence headers: %8u",num_sequence); *************** *** 351,359 **** mjpeg_info("Average bit-rate : %8u bits/sec",comp_bit_rate*400); mjpeg_info("Peak bit-rate : %8u bits/sec",peak_bit_rate*400); - } - - - /************************************************************************* --- 350,354 ---- *************** *** 364,398 **** void VideoStream::OutputSeqhdrInfo () { ! const char *str; ! mjpeg_info("VIDEO STREAM: %02x", stream_id); mjpeg_info ("Frame width : %u",horizontal_size); mjpeg_info ("Frame height : %u",vertical_size); ! if (mpeg_valid_aspect_code(muxinto.mpeg, aspect_ratio)) ! str = mpeg_aspect_code_definition(muxinto.mpeg,aspect_ratio); ! else ! str = "forbidden"; mjpeg_info ("Aspect ratio : %s", str ); - if (picture_rate == 0) ! mjpeg_info( "Picture rate : forbidden"); else if (mpeg_valid_framerate_code(picture_rate)) ! mjpeg_info( "Picture rate : %2.3f frames/sec", ! Y4M_RATIO_DBL(mpeg_framerate(picture_rate)) ); else ! mjpeg_info( "Picture rate : %x reserved",picture_rate); if (bit_rate == 0x3ffff) ! { ! bit_rate = 0; ! mjpeg_info( "Bit rate : variable"); ! } else if (bit_rate == 0) mjpeg_info( "Bit rate : forbidden"); else ! mjpeg_info( "Bit rate : %u bits/sec", ! bit_rate*400); ! mjpeg_info("Vbv buffer size : %u bytes",vbv_buffer_size*2048); mjpeg_info("CSPF : %u",CSPF); --- 359,392 ---- void VideoStream::OutputSeqhdrInfo () { ! const char *str; + mjpeg_info("VIDEO STREAM: %02x", stream_id); mjpeg_info ("Frame width : %u",horizontal_size); mjpeg_info ("Frame height : %u",vertical_size); ! ! if (mpeg_valid_aspect_code(muxinto.mpeg, aspect_ratio)) ! str = mpeg_aspect_code_definition(muxinto.mpeg,aspect_ratio); ! else ! str = "forbidden"; ! mjpeg_info ("Aspect ratio : %s", str ); if (picture_rate == 0) ! mjpeg_info( "Picture rate : forbidden"); else if (mpeg_valid_framerate_code(picture_rate)) ! mjpeg_info( "Picture rate : %2.3f frames/sec", ! Y4M_RATIO_DBL(mpeg_framerate(picture_rate)) ); else ! mjpeg_info( "Picture rate : %x reserved",picture_rate); if (bit_rate == 0x3ffff) ! { ! bit_rate = 0; ! mjpeg_info( "Bit rate : variable"); ! } else if (bit_rate == 0) mjpeg_info( "Bit rate : forbidden"); else ! mjpeg_info( "Bit rate : %u bits/sec", bit_rate*400); mjpeg_info("Vbv buffer size : %u bytes",vbv_buffer_size*2048); mjpeg_info("CSPF : %u",CSPF); *************** *** 424,428 **** return frames2field*2 + frames3field*3; - } --- 418,421 ---- *************** *** 444,453 **** if( pict_struct != PIC_FRAME ) { ! decode_fields = fields_presented; present_fields = temporal_reference*2 + group_start_field+decode_delay/2; ! if( temporal_reference == prev_temp_ref ) present_fields += 1; fields_presented += 1; ! } else if( pulldown_32 ) { --- 437,446 ---- if( pict_struct != PIC_FRAME ) { ! decode_fields = fields_presented; present_fields = temporal_reference*2 + group_start_field+decode_delay/2; ! if (temporal_reference == prev_temp_ref) present_fields += 1; fields_presented += 1; ! } else if( pulldown_32 ) { *************** *** 468,474 **** } else - { decode_fields = present_fields - decode_delay; - } fields_presented += repeat_first_field ? 3 : 2; } --- 461,465 ---- *************** *** 487,500 **** (present_fields * (double)(CLOCKS/2) / frame_rate); } - - - - - - /* - * Local variables: - * c-file-style: "stroustrup" - * tab-width: 4 - * indent-tabs-mode: nil - * End: - */ --- 478,479 ---- |
From: Bernhard P. <wal...@us...> - 2014-07-28 14:26:57
|
Update of /cvsroot/mjpeg/mjpeg_play/utils In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv8453/utils Modified Files: Makefile.am Log Message: Fixing the warning: Makefile.am: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' when running autoreconf Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/utils/Makefile.am,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** Makefile.am 30 Dec 2013 03:21:16 -0000 1.33 --- Makefile.am 28 Jul 2014 14:26:54 -0000 1.34 *************** *** 10,14 **** DIST_SUBDIRS = altivec mmxsse ! INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/utils lib_LTLIBRARIES = libmjpegutils.la --- 10,14 ---- DIST_SUBDIRS = altivec mmxsse ! AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils lib_LTLIBRARIES = libmjpegutils.la |
From: Bernhard P. <wal...@us...> - 2014-07-28 14:26:56
|
Update of /cvsroot/mjpeg/mjpeg_play/yuvdeinterlace In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv8453/yuvdeinterlace Modified Files: Makefile.am Log Message: Fixing the warning: Makefile.am: warning: 'INCLUDES' is the old name for 'AM_CPPFLAGS' when running autoreconf Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/yuvdeinterlace/Makefile.am,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Makefile.am 27 Oct 2006 15:09:29 -0000 1.6 --- Makefile.am 28 Jul 2014 14:26:54 -0000 1.7 *************** *** 3,7 **** MAINTAINERCLEANFILES = Makefile.in ! INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/utils LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la --- 3,7 ---- MAINTAINERCLEANFILES = Makefile.in ! AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils LIBMJPEGUTILS = $(top_builddir)/utils/libmjpegutils.la |
From: Steven S. <sm...@us...> - 2014-06-11 13:48:33
|
Update of /cvsroot/mjpeg/mjpeg_play/mpeg2enc In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21607/mpeg2enc Modified Files: ontheflyratectlpass1.hh ontheflyratectlpass2.hh Log Message: Fix typos in header guard macros Index: ontheflyratectlpass2.hh =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mpeg2enc/ontheflyratectlpass2.hh,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ontheflyratectlpass2.hh 17 Oct 2010 15:19:48 -0000 1.2 --- ontheflyratectlpass2.hh 11 Jun 2014 13:48:30 -0000 1.3 *************** *** 1,4 **** #ifndef _ONTHEFLYRATECTLPASS2_HH ! #define _ONTHELFYRATECTLPASS2_HH /* (C) 2003 Andrew Stevens */ --- 1,4 ---- #ifndef _ONTHEFLYRATECTLPASS2_HH ! #define _ONTHEFLYRATECTLPASS2_HH /* (C) 2003 Andrew Stevens */ Index: ontheflyratectlpass1.hh =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mpeg2enc/ontheflyratectlpass1.hh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ontheflyratectlpass1.hh 11 Sep 2010 19:46:04 -0000 1.1 --- ontheflyratectlpass1.hh 11 Jun 2014 13:48:30 -0000 1.2 *************** *** 1,4 **** #ifndef _ONTHEFLYRATECTLPASS1_HH ! #define _ONTHELFYRATECTLPASS1_HH /* (C) 2003 Andrew Stevens */ --- 1,4 ---- #ifndef _ONTHEFLYRATECTLPASS1_HH ! #define _ONTHEFLYRATECTLPASS1_HH /* (C) 2003 Andrew Stevens */ |
From: Steven S. <sm...@us...> - 2014-06-11 13:39:27
|
Update of /cvsroot/mjpeg/mjpeg_play/y4mutils In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20734/y4mutils Modified Files: Makefile.am Log Message: Some systems need SDL_CFLAGS (most systems build fine without the flags) Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/y4mutils/Makefile.am,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Makefile.am 28 Nov 2013 22:39:41 -0000 1.8 --- Makefile.am 11 Jun 2014 13:39:24 -0000 1.9 *************** *** 45,48 **** --- 45,49 ---- y4mhist_SOURCES = y4mhist.c y4mhist_LDADD = $(SDL_LIBS) $(SDLgfx_LIBS) $(LIBMJPEGUTILS) + y4mhist_CPPFLAGS = $(AM_CPPFLAGS) $(SDL_CFLAGS) y4mblack_SOURCES = y4mblack.c |
From: Steven S. <sm...@us...> - 2014-06-11 13:38:01
|
Update of /cvsroot/mjpeg/mjpeg_play/utils/mmxsse In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20675 Modified Files: mblock_sub44_sads_x86.h Log Message: Incorrect macro defined as the header guard Index: mblock_sub44_sads_x86.h =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/utils/mmxsse/mblock_sub44_sads_x86.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** mblock_sub44_sads_x86.h 20 Dec 2003 17:33:38 -0000 1.2 --- mblock_sub44_sads_x86.h 11 Jun 2014 13:37:59 -0000 1.3 *************** *** 19,23 **** #ifndef __MBLOCK_SUB44_SADS_X86_H__ ! #define __MBLOCK_SUB44_SADS_X86__ #include "mjpeg_types.h" --- 19,23 ---- #ifndef __MBLOCK_SUB44_SADS_X86_H__ ! #define __MBLOCK_SUB44_SADS_X86_H__ #include "mjpeg_types.h" |
From: Steven S. <sm...@us...> - 2014-01-06 04:48:48
|
Update of /cvsroot/mjpeg/mjpeg_play In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv21192 Modified Files: configure.ac Log Message: Remove obsolete (and unused) DGA/Xxf86dga logic Index: configure.ac =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/configure.ac,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -d -r1.78 -r1.79 *** configure.ac 6 Jan 2014 04:31:59 -0000 1.78 --- configure.ac 6 Jan 2014 04:48:46 -0000 1.79 *************** *** 250,268 **** dnl ******************************************************************** - dnl Check for DGA (for v4l-conf) - dnl ******************************************************************** - have_dga=false - if test x$with_dga != xno ; then - AC_SUBST(V4LCONF_LIBS) - AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension, - V4LCONF_LIBS="$X_LIBS -lXxf86dga" - have_dga="true" - AC_DEFINE(HAVE_LIBXXF86DGA,1, [libxf86dga is present]), - have_dga="false", - $X_LIBS $X_PRE_LIBS -lXext $X_EXTRA_LIBS) - fi - AM_CONDITIONAL(HAVE_LIBXXF86DGA, test x$have_dga = xtrue) - - dnl ******************************************************************** dnl Check for Gtk+/glib (for glav). 2.4.0 or greater required (should dnl not be a problem on recent distributions). --- 250,253 ---- |
From: Steven S. <sm...@us...> - 2014-01-06 04:32:03
|
Update of /cvsroot/mjpeg/mjpeg_play In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20261 Modified Files: configure.ac Log Message: Do not need 2nd check of v4l - the 2nd one also generated a v4l warning on non-linux systems Index: configure.ac =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/configure.ac,v retrieving revision 1.77 retrieving revision 1.78 diff -C2 -d -r1.77 -r1.78 *** configure.ac 31 Dec 2013 04:26:03 -0000 1.77 --- configure.ac 6 Jan 2014 04:31:59 -0000 1.78 *************** *** 161,167 **** esac]) - AS_IF([test "x$have_video4linux" != "xtrue" && test "x$with_v4l" != "xno"], - [have_video4linux=false - AC_MSG_WARN([videodev.h not found - please install the linux kernel headers programms needing v4l disabled])]) AM_CONDITIONAL(HAVE_V4L, test x$have_video4linux = xtrue) --- 161,164 ---- *************** *** 172,179 **** dnl ********************************************************************* ACX_PTHREAD - dnl maddog: The following matches the original pthread-checking behavior - dnl in this script, i.e. "If a CFLAG is necessary, use it for - dnl *everything*." Hopefully, any CFLAGs will eventually go away. - dnl The other option is to stick PTHREAD_CFLAGS/CC in Makefile.am.... CFLAGS="$CFLAGS $PTHREAD_CFLAGS" CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" --- 169,172 ---- |
From: Steven S. <sm...@us...> - 2013-12-31 04:26:06
|
Update of /cvsroot/mjpeg/mjpeg_play In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30161 Modified Files: configure.ac Log Message: Finish kicking PROGRAM_NOPIC - no references/uses were remaining. Index: configure.ac =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/configure.ac,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -d -r1.76 -r1.77 *** configure.ac 30 Dec 2013 03:16:25 -0000 1.76 --- configure.ac 31 Dec 2013 04:26:03 -0000 1.77 *************** *** 6,10 **** MJPEG_MAJOR_VERSION=2 MJPEG_MINOR_VERSION=1 ! MJPEG_MICRO_VERSION=0 MJPEG_VERSION=$MJPEG_MAJOR_VERSION.$MJPEG_MINOR_VERSION.$MJPEG_MICRO_VERSION --- 6,10 ---- MJPEG_MAJOR_VERSION=2 MJPEG_MINOR_VERSION=1 ! MJPEG_MICRO_VERSION=1 MJPEG_VERSION=$MJPEG_MAJOR_VERSION.$MJPEG_MINOR_VERSION.$MJPEG_MICRO_VERSION *************** *** 119,138 **** AC_MSG_NOTICE([The host is $host $host_cpu $host_vendor $host_os .]) - dnl test for alpha architecture, and Compaq Math Library (cpml) -- much faster - dnl than GNU libm on this arch. LIBM_LIBS="-lm " AC_SUBST(LIBM_LIBS) - AC_MSG_CHECKING([for alpha architecture]) - case $host in - alpha*-*-linux-*) - AC_MSG_RESULT([yes]) - AC_CHECK_LIB(cpml, asin, - [ LIBM_LIBS="-lcpml" - have_cpml=true ],,) - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac dnl ********************************************************************* --- 119,124 ---- *************** *** 334,342 **** dnl Altivec support. For the IA32 platform see if gcc understands inline dnl MMX instructions. - dnl - dnl TODO: host = non intel, target = intel <blah> do the checks also? - dnl Remember we are checking that the toolchain can generate the - dnl code, not whether the host can execute the code, thats done - dnl at run time with the exception of the SSE code. have_asm_mmx=false --- 320,323 ---- *************** *** 349,353 **** AC_DEFINE(HAVE_X86CPU,1, [Compiling for x86 architecture CPU]) have_x86cpu=true - PROGRAM_NOPIC="-fno-PIC" ;; x86_64*) --- 330,333 ---- *************** *** 356,360 **** have_x86cpu=true have_x86_64cpu=true - PROGRAM_NOPIC="-fno-PIC" ;; powerpc | powerpc64) --- 336,339 ---- *************** *** 362,388 **** AC_DEFINE(HAVE_PPCCPU,1, [Compiling for PowerPC CPU]) have_ppccpu=true - PROGRAM_NOPIC="" ;; *) AC_MSG_RESULT(unknown) - PROGRAM_NOPIC="" ;; esac - dnl Apple's darwin works on multiple hosts now, so add a catchall override - dnl after processing normal hosts - case $host in - *-apple-darwin*) - PROGRAM_NOPIC="-mdynamic-no-pic" # dynamic-no-pic is an Apple gcc option - ;; - esac - - dnl This flag is used for PROGRAMS not SHARED LIBRARIES. PIC code is required - dnl for shared libraries but is slower than non-pic code. Compute bound - dnl programs such as yuvdenoise and y4mspatialfilter can use this flag by - dnl simply adding programname_CFLAGS=@PROGRAM_NOPIC@ to the Makefile.am - - AC_SUBST(PROGRAM_NOPIC) - if test "$enable_simd_accel" != "false" -a "$enable_simd_accel" != "no" then --- 341,350 ---- |
From: Steven S. <sm...@us...> - 2013-12-30 03:21:19
|
Update of /cvsroot/mjpeg/mjpeg_play/utils In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv28811 Modified Files: Makefile.am Removed Files: cpuinfo.c Log Message: Don't need cpuinfo.c since it was used by cpuinfo.sh which has been removed. If folks really want to play with "optimizing" for a specific cpu they can use --with-extra-cflags="-mtune=xxxx" and try various values for xxxx Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/utils/Makefile.am,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** Makefile.am 18 May 2007 05:03:00 -0000 1.32 --- Makefile.am 30 Dec 2013 03:21:16 -0000 1.33 *************** *** 10,15 **** DIST_SUBDIRS = altivec mmxsse - EXTRA_DIST = cpuinfo.c - INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/utils --- 10,13 ---- --- cpuinfo.c DELETED --- |
From: Steven S. <sm...@us...> - 2013-12-30 03:16:28
|
Update of /cvsroot/mjpeg/mjpeg_play In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv28025 Modified Files: INSTALL Makefile.am configure.ac Removed Files: cpuinfo.sh Log Message: Remove cpuinfo.sh as both obsolete and not necessary. It turns out that specifying -mcpu and -march makes no difference in the case of the encoder (mpeg2enc). If giving the flags for one of the most cpu intense programs in mjpegtools makes no difference then the cpuinfo.sh script should be removed. Compiling mpeg2enc with -mtune=core2, corei7, generic and none (no flags at all) and then encoding 10000 frames produced these times: core2 118.318u 6.571s 2:05.61 99.4% 0+0k 5+43io 0pf+0w corei7 118.831u 6.539s 2:05.63 99.7% 0+0k 2+24io 0pf+0w generic 118.462u 6.571s 2:05.26 99.8% 0+0k 0+24io 0pf+0w none 118.714u 6.597s 2:05.77 99.6% 0+0k 0+73io 0pf+0w cpuinfo.sh has been removed from mjpegtools. Index: configure.ac =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/configure.ac,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -d -r1.75 -r1.76 *** configure.ac 27 Oct 2013 15:16:22 -0000 1.75 --- configure.ac 30 Dec 2013 03:16:25 -0000 1.76 *************** *** 454,486 **** fi - dnl ********************************************************************* - dnl For x86 and ppc machines check which code model we should use. This is - dnl done with the helper script cpuinfo.sh because the logic to do the job - dnl correctly is complex and lengthy (about as long as the entire configure.ac - dnl file). - - if test x$have_x86cpu = xtrue -o x$have_ppccpu = xtrue; then - if test x$host_alias != x; then - dnl This is to allow cross compiling - AC_MSG_CHECKING(sub-architecture settings) - if test x$have_x86cpu = xtrue; then - host_mod_cpu=`echo $host_cpu | tr _ -` - ARCHFLAGS="-march=$host_mod_cpu -mcpu=$host_mod_cpu" - fi - else - if test ! -r $srcdir/cpuinfo.sh; then - AC_MSG_ERROR([cpuinfo.sh script not found - do a cvs update]) - fi - AC_MSG_CHECKING(sub-architecture settings) - chmod +x $srcdir/cpuinfo.sh - if test x$have_x86cpu = xtrue; then - ARCHFLAGS=`$srcdir/cpuinfo.sh x86` - elif test x$have_ppccpu = xtrue; then - ARCHFLAGS=`$srcdir/cpuinfo.sh ppc` - fi - fi - AC_MSG_RESULT($ARCHFLAGS) - fi - dnl ********************************************************************** dnl Handle forcing static linkage in key places --- 454,457 ---- *************** *** 552,558 **** dnl We do this last as it can screw up library detection etc... - CFLAGS="$ARCHFLAGS $CFLAGS" - CXXFLAGS="$ARCHFLAGS $CXXFLAGS" - if test "x${GCC}" != "xyes" ; then enable_compile_warnings=no --- 523,526 ---- *************** *** 644,650 **** AC_MSG_NOTICE([ - AltiVec enabled : ${have_altivec}]) fi - if test x"$ARCHFLAGS" != x; then - AC_MSG_NOTICE([ - arch/cpu compiler flags : ${ARCHFLAGS}]) - fi if test x"$with_extra_cflags" != "x"; then AC_MSG_NOTICE([ - extra_cflags added to CFLAGS: ${with_extra_cflags}]) --- 612,615 ---- Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/Makefile.am,v retrieving revision 1.55 retrieving revision 1.56 diff -C2 -d -r1.55 -r1.56 *** Makefile.am 17 Nov 2012 02:49:17 -0000 1.55 --- Makefile.am 30 Dec 2013 03:16:25 -0000 1.56 *************** *** 46,50 **** INSTALL.real \ TODO \ - cpuinfo.sh \ mjpeg_howto.txt \ mjpegtools.spec \ --- 46,49 ---- Index: INSTALL =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/INSTALL,v retrieving revision 1.98 retrieving revision 1.99 diff -C2 -d -r1.98 -r1.99 *** INSTALL 28 Nov 2013 22:39:40 -0000 1.98 --- INSTALL 30 Dec 2013 03:16:25 -0000 1.99 *************** *** 3,9 **** Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, ! 2006 Free Software Foundation, Inc. ! This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. --- 3,9 ---- Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, ! 2006, 2007, 2008, 2009 Free Software Foundation, Inc. ! This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. *************** *** 11,15 **** ================== ! Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for --- 11,15 ---- ================== ! Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for *************** *** 68,77 **** with the distribution. Compilers and Options ===================== ! Some systems require unusual options for compilation or linking that the ! `configure' script does not know about. Run `./configure --help' for ! details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters --- 68,80 ---- with the distribution. + 6. Often, you can also type `make uninstall' to remove the installed + files again. + Compilers and Options ===================== ! Some systems require unusual options for compilation or linking that ! the `configure' script does not know about. Run `./configure --help' ! for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters *************** *** 86,90 **** ==================================== ! You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the --- 89,93 ---- ==================================== ! You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the *************** *** 98,105 **** reconfiguring for another architecture. Installation Names ================== ! By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving --- 101,122 ---- reconfiguring for another architecture. + On MacOS X 10.5 and later systems, you can create libraries and + executables that work on multiple system types--known as "fat" or + "universal" binaries--by specifying multiple `-arch' options to the + compiler but only a single `-arch' option to the preprocessor. Like + this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you + may have to build one architecture at a time and combine the results + using the `lipo' tool if you have problems. + Installation Names ================== ! By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving *************** *** 124,128 **** ================= ! Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE --- 141,145 ---- ================= ! Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE *************** *** 136,147 **** `--x-libraries=DIR' to specify their locations. Specifying the System Type ========================== ! There may be some features `configure' cannot figure out automatically, ! but needs to determine by the type of machine the package will run on. ! Usually, assuming the package is built to be run on the _same_ ! architectures, `configure' can figure that out, but if it prints a ! message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: --- 153,196 ---- `--x-libraries=DIR' to specify their locations. + Particular systems + ================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU + CC is not installed, it is recommended to use the following options in + order to use an ANSI C compiler: + + ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" + + and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot + parse its `<wchar.h>' header file. The option `-nodtk' can be used as + a workaround. If GNU CC is not installed, it is therefore recommended + to try + + ./configure CC="cc" + + and if that doesn't work, try + + ./configure CC="cc -nodtk" + + On Solaris, don't put `/usr/ucb' early in your `PATH'. This + directory contains several dysfunctional programs; working variants of + these programs are available in `/usr/bin'. So, if you need `/usr/ucb' + in your `PATH', put it _after_ `/usr/bin'. + + On Haiku, software installed for all users goes in `/boot/common', + not `/usr/local'. It is recommended to use the following options: + + ./configure --prefix=/boot/common + Specifying the System Type ========================== ! There may be some features `configure' cannot figure out ! automatically, but needs to determine by the type of machine the package ! will run on. Usually, assuming the package is built to be run on the ! _same_ architectures, `configure' can figure that out, but if it prints ! a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: *************** *** 151,155 **** where SYSTEM can have one of these forms: ! OS KERNEL-OS See the file `config.sub' for the possible values of each field. If --- 200,205 ---- where SYSTEM can have one of these forms: ! OS ! KERNEL-OS See the file `config.sub' for the possible values of each field. If *************** *** 169,175 **** ================ ! If you want to set default values for `configure' scripts to share, you ! can create a site shell script called `config.site' that gives default ! values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the --- 219,225 ---- ================ ! If you want to set default values for `configure' scripts to share, ! you can create a site shell script called `config.site' that gives ! default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the *************** *** 180,184 **** ================== ! Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these --- 230,234 ---- ================== ! Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these *************** *** 199,207 **** ====================== ! `configure' recognizes the following options to control how it operates. `--help' `-h' ! Print a summary of the options to `configure', and exit. `--version' --- 249,265 ---- ====================== ! `configure' recognizes the following options to control how it ! operates. `--help' `-h' ! Print a summary of all of the options to `configure', and exit. ! ! `--help=short' ! `--help=recursive' ! Print a summary of the options unique to this package's ! `configure', and exit. The `short' variant lists options used ! only in the top level, while the `recursive' variant lists options ! also present in any nested packages. `--version' *************** *** 230,233 **** --- 288,301 ---- `configure' can determine that directory automatically. + `--prefix=DIR' + Use DIR as the installation prefix. *Note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + + `--no-create' + `-n' + Run the configure checks, but stop before creating any output + files. + `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. --- cpuinfo.sh DELETED --- |
From: Roland S. <sf...@us...> - 2013-12-29 16:52:53
|
Update of /cvsroot/mjpeg/mjpeg_play/mplex In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv20257/mjpeg_play/mplex Modified Files: bits.cpp Log Message: -tried to make this bitstreaming a bit quicker (~ 1% gained), but needs rewrite/ABI change to gain speed Index: bits.cpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/bits.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** bits.cpp 26 Mar 2007 21:31:00 -0000 1.9 --- bits.cpp 29 Dec 2013 16:52:51 -0000 1.10 *************** *** 154,158 **** - #define masks(idx) (1<<(idx)) /*read 1 bit from the bit stream --- 154,157 ---- *************** *** 164,171 **** if (eobs) return 0; ! ! bit = (bfr[byteidx] & masks(bitidx - 1)) >> (bitidx - 1); bitreadpos++; ! bitidx--; if (!bitidx) { --- 163,169 ---- if (eobs) return 0; ! bit = (bfr[byteidx] >> (--bitidx))& 1; bitreadpos++; ! if (!bitidx) { *************** *** 213,220 **** if (eobs) return 0; ! ! j = (bfr[byteidx] & masks(bitidx - 1)) >> (bitidx - 1); bitreadpos++; - bitidx--; if (!bitidx) { --- 211,217 ---- if (eobs) return 0; ! ! j = (bfr[byteidx] >> (--bitidx))& 1; bitreadpos++; if (!bitidx) { |
From: Roland S. <sf...@us...> - 2013-12-27 11:34:33
|
Update of /cvsroot/mjpeg/mjpeg_play/mplex In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv16636/mjpeg_play/mplex Modified Files: audiostrm.hpp inputstrm.hpp multiplexor.cpp subpstream.cpp Log Message: - added subtitle stream as own enum - clean up local variables - bugfix: subtitles exeeding a pack won't segfault mplex any more Index: multiplexor.cpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/multiplexor.cpp,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** multiplexor.cpp 17 Nov 2012 01:55:16 -0000 1.46 --- multiplexor.cpp 27 Dec 2013 11:34:30 -0000 1.47 *************** *** 687,691 **** switch( (*str)->Kind() ) { ! case ElementaryStream::audio : (*str)->SetMaxPacketData( psstrm->PacketPayload( **str, NULL, NULL, --- 687,692 ---- switch( (*str)->Kind() ) { ! case ElementaryStream::audio : ! case ElementaryStream::subtitle : (*str)->SetMaxPacketData( psstrm->PacketPayload( **str, NULL, NULL, Index: audiostrm.hpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/audiostrm.hpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** audiostrm.hpp 13 Mar 2010 13:05:07 -0000 1.8 --- audiostrm.hpp 27 Dec 2013 11:34:30 -0000 1.9 *************** *** 180,183 **** --- 180,184 ---- }; + class SUBPStream : public AudioStream { *************** *** 191,210 **** virtual unsigned int ReadPacketPayload(uint8_t *dst, unsigned int to_read); virtual unsigned int StreamHeaderSize() { return 1; } ! private: virtual void FillAUbuffer(unsigned int frames_to_buffer); bool ParseAUBitwise(); ! static const unsigned int default_buffer_size; /* State variables for scanning source bit-stream */ ! unsigned int framesize; ! unsigned int samples_per_second; ! unsigned int bit_rate; ! unsigned int stream_num; unsigned int num_frames; int64_t initial_offset; // DTS of first Subp. SubtitleStreamParams* parms; int8_t sub_stream_id; // substream_id }; --- 192,212 ---- virtual unsigned int ReadPacketPayload(uint8_t *dst, unsigned int to_read); virtual unsigned int StreamHeaderSize() { return 1; } ! // OutputSector from AudioStream allows merging of Units -- we don't ! void OutputSector ( ); private: virtual void FillAUbuffer(unsigned int frames_to_buffer); bool ParseAUBitwise(); ! bool CheckAndSkipHeader( struct vobsub_header_s& vobsub, bool bitwise); ! //static const unsigned int default_buffer_size; /* State variables for scanning source bit-stream */ ! ! //unsigned int stream_num; unsigned int num_frames; int64_t initial_offset; // DTS of first Subp. SubtitleStreamParams* parms; int8_t sub_stream_id; // substream_id + int8_t last_sub_stream_id; // substream_id }; Index: subpstream.cpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/subpstream.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** subpstream.cpp 28 Oct 2013 00:35:15 -0000 1.5 --- subpstream.cpp 27 Dec 2013 11:34:30 -0000 1.6 *************** *** 2,6 **** // C++ Implementation: subpstream // ! // Description: // // --- 2,6 ---- // C++ Implementation: subpstream // ! // Description: // // *************** *** 27,46 **** typedef struct { ! unsigned int header_length; ! unsigned int header_version; ! unsigned int payload_length; ! unsigned int lpts; ! double rpts; ! ! // version 0x00030001 ! unsigned int discont_ctr; } subtitle_header_v3_t; ! typedef struct { ! char marker[8]; ! subtitle_header_v3_t header; ! } vobsub_header; static unsigned int minor_version(unsigned int version) --- 27,47 ---- typedef struct { ! unsigned int header_length; ! unsigned int header_version; ! unsigned int payload_length; ! unsigned int lpts; ! double rpts; ! ! // version 0x00030001 ! unsigned int discont_ctr; } subtitle_header_v3_t; ! typedef struct vobsub_header_s { ! ! char marker[8]; ! subtitle_header_v3_t header; ! } vobsub_header ; static unsigned int minor_version(unsigned int version) *************** *** 60,70 **** static const char* SUBPHEADER="SUBTITLE"; ! SUBPStream::SUBPStream(IBitStream &ibs, SubtitleStreamParams* subpparm, Multiplexor &into) : ! AudioStream( ibs, into ),parms(subpparm) ! { ! ! num_frames =0; ! initial_offset = -1; } --- 61,73 ---- static const char* SUBPHEADER="SUBTITLE"; ! SUBPStream::SUBPStream(IBitStream &ibs, SubtitleStreamParams* subpparm, Multiplexor &into) : ! AudioStream( ibs, into ),parms(subpparm) ! { ! kind = ElementaryStream::subtitle; ! num_frames =0; ! initial_offset = -1; ! last_sub_stream_id =-1; ! } *************** *** 75,84 **** { //char *last_dot = strrchr( bs, '.' ); ! char buffer[20]; ! bs.GetBytes((uint8_t*)buffer,strlen(SUBPHEADER)); ! if (strncmp(buffer,SUBPHEADER,strlen(SUBPHEADER)) == 0) ! return true; ! return false; ! } --- 78,87 ---- { //char *last_dot = strrchr( bs, '.' ); ! char buffer[20]; ! bs.GetBytes((uint8_t*)buffer,strlen(SUBPHEADER)); ! if (strncmp(buffer,SUBPHEADER,strlen(SUBPHEADER)) == 0) ! return true; ! return false; ! } *************** *** 86,178 **** void SUBPStream::Init(const int stream_num) { ! MuxStream::Init( PRIVATE_STR_1, ! 1, // Buffer scale ! 8192, // default buffer size ! false, ! muxinto.buffers_in_audio, ! muxinto.always_buffers_in_audio ! ); ! mjpeg_info ("Scanning for header info: Subpicture stream %02x (%s)", stream_num, bs.StreamName() ! ); sub_stream_id =parms->StreamId(); ! ParseAUBitwise(); ! } bool SUBPStream::ParseAUBitwise() { ! vobsub_header vobsub; ! uint8_t* ptr = reinterpret_cast<uint8_t*> (&vobsub); ! subtitle_header_v3_t &header = vobsub.header; ! char buffer[20]; ! int i; ! for (i=0; i<sizeof(vobsub); i++) ! *(ptr+i) = bs.GetBits(8); - if (strncmp(vobsub.marker,SUBPHEADER,strlen(SUBPHEADER)) != 0) - { - mjpeg_error( "Subtitle: expected header %s!",SUBPHEADER); - return false; - - } ! if (major_version(header.header_version) != major_version(MIN_VERSION_CODE)) ! { ! mjpeg_error( "Subtitle: expected version 0x%08X, got version 0x%08X while reading subtitle header!",MIN_VERSION_CODE,header.header_version); ! return false; ! } ! int16_t skip_len = header.header_length-sizeof(header); - if (skip_len) - { - assert (skip_len>0); - bs.SeekFwdBits(skip_len); - } - uint8_t subpid; - prev_offset = AU_start; - AU_start = bs.bitcount(); - // packet starts here... - subpid = bs.GetBits(8); ! ! access_unit.start = AU_start; ! access_unit.length = header.payload_length; ! if(header.rpts > 0){ - access_unit.PTS=header.rpts*300.0*90000.0; - if (initial_offset == -1) - { - if (sub_stream_id == -1) - sub_stream_id = subpid; - mjpeg_info( "SUBTITLE id 0x%02X => 0x%02X", subpid,sub_stream_id); - initial_offset = access_unit.PTS; - mjpeg_info("Stream offset is : %lld (PTS)",access_unit.PTS); - mjpeg_info("Initial offset is : %lld (PTS)",initial_offset); - mjpeg_info("Cmd line offset is: %lld (PTS)",parms->Offset()); - initial_offset -= parms->Offset(); - mjpeg_info("Adjustment offset : %lld (PTS)",initial_offset); - } - access_unit.PTS-=initial_offset; - mjpeg_debug("Subtitle: appending PTS/DTS (int64_t) %lld",access_unit.PTS); - - } else { - // calculate the time from lpts - mjpeg_info( "Subtitle %d: fallback to lpts", subpid); - access_unit.PTS= (double)(header.lpts/300)/90000.0; - } ! access_unit.DTS = access_unit.PTS; ! access_unit.dorder = decoding_order; ! mjpeg_debug("appending PTS/DTS %lld",access_unit.DTS); ! decoding_order++; ! aunits.Append( access_unit ); ! ! bs.SeekFwdBits(header.payload_length-1); ! num_frames++; ! return true; } --- 89,219 ---- void SUBPStream::Init(const int stream_num) { ! MuxStream::Init( PRIVATE_STR_1, ! 1, // Buffer scale ! 8192, // default buffer size ! false, ! muxinto.buffers_in_audio, ! muxinto.always_buffers_in_audio ! ); ! mjpeg_info ("Scanning for header info: Subpicture stream %02x (%s)", stream_num, bs.StreamName() ! ); sub_stream_id =parms->StreamId(); ! ParseAUBitwise(); ! } + bool SUBPStream::CheckAndSkipHeader( vobsub_header& vobsub, bool bitwise) + { + + + uint8_t* ptr = reinterpret_cast<uint8_t*> (&vobsub); + subtitle_header_v3_t &header = vobsub.header; + int i; + + if (bitwise) + { + + for (i=0; i<sizeof(vobsub); i++) + *(ptr+i) = bs.GetBits(8); + } + else + { + bs.GetBytes((uint8_t*) &vobsub,sizeof(vobsub)); + } + + if (strncmp(vobsub.marker,SUBPHEADER,strlen(SUBPHEADER)) != 0) + { + mjpeg_error( "Subtitle: expected header %s!",SUBPHEADER); + return false; + + } + + if (major_version(header.header_version) != major_version(MIN_VERSION_CODE)) + { + mjpeg_error( "Subtitle: expected version 0x%08X, got version 0x%08X while reading subtitle header!",MIN_VERSION_CODE,header.header_version); + return false; + } + int16_t skip_len = header.header_length-sizeof(header); + + if (skip_len) + { + assert (skip_len>0); + if (bitwise) + bs.SeekFwdBits(skip_len); + else + { + uint8_t* b = (uint8_t* ) malloc(skip_len); + + bs.GetBytes(b,skip_len); + free (b); + } + } + return true; + + } + + bool SUBPStream::ParseAUBitwise() { ! vobsub_header vobsub; ! if (!CheckAndSkipHeader(vobsub, true)) ! return false; ! subtitle_header_v3_t &header = vobsub.header; ! uint8_t subpid; ! prev_offset = AU_start; ! AU_start = bs.bitcount(); ! // packet starts here... ! subpid = bs.GetBits(8); ! access_unit.start = AU_start; ! access_unit.length = header.payload_length; ! access_unit.PTS=header.rpts*CLOCKS; ! if(header.rpts > 0) { ! if (initial_offset == -1) ! { ! if (sub_stream_id == -1) ! { ! sub_stream_id = subpid; ! last_sub_stream_id =subpid; ! } ! mjpeg_info( "SUBTITLE id 0x%02X => 0x%02X", subpid,sub_stream_id); ! initial_offset = header.rpts*CLOCKS; ! mjpeg_info("Stream offset is : %lld (PTS)",access_unit.PTS); ! mjpeg_info("Initial offset is : %lld (PTS)",initial_offset); ! mjpeg_info("Cmd line offset is: %lld (PTS)",parms->Offset()); ! initial_offset -= parms->Offset(); ! mjpeg_info("Adjustment offset : %lld (PTS)",initial_offset); ! // mjpeg_info("fist sector scr : %f (LPTS)",((double)header.lpts)/CLOCKS); ! } ! access_unit.PTS-=initial_offset; ! //access_unit.PTS-=initial_offset; ! ! } else { ! // calculate the time from lpts ! mjpeg_info( "Subtitle %d: fallback to lpts", subpid); ! access_unit.PTS= ((double)header.lpts)/CLOCKS -initial_offset; ! } ! if (subpid != last_sub_stream_id) ! mjpeg_info("Subtitle id changes from 0x%02X to 0x%02X in during muxing, is that realy what you want?",last_sub_stream_id, subpid); ! ! access_unit.DTS = access_unit.PTS; ! access_unit.dorder = decoding_order; ! ! decoding_order++; ! aunits.Append( access_unit ); ! ! ! bs.SeekFwdBits(header.payload_length-1); ! num_frames++; ! return true; } *************** *** 180,186 **** { stream_length = AU_start >> 3; ! mjpeg_info ("SUBTITLE STATISTICS: 0x%02x", sub_stream_id); mjpeg_info ("Subtitle stream length %lld bytes.", stream_length); ! mjpeg_info ("Nr. of subtitle packets:%d", num_frames); } --- 221,227 ---- { stream_length = AU_start >> 3; ! mjpeg_info ("SUBTITLE STATISTICS: 0x%02x", sub_stream_id); mjpeg_info ("Subtitle stream length %lld bytes.", stream_length); ! mjpeg_info ("Nr. of subtitle packets read: %d, wrote: %d", num_frames, nsec); } *************** *** 188,310 **** void SUBPStream::FillAUbuffer(unsigned int frames_to_buffer) { ! uint32_t discont_ctr; ! last_buffered_AU += frames_to_buffer; ! mjpeg_debug( "Scanning %d Subpicture frames to frame %d", ! frames_to_buffer, last_buffered_AU ); ! prev_offset = AU_start; ! AU_start = bs.bitcount(); ! while (decoding_order < last_buffered_AU && !bs.eos() ! && !muxinto.AfterMaxPTS(access_unit.PTS)) ! { ! if (!ParseAUBitwise()) ! break; ! ! } ! last_buffered_AU = decoding_order; ! eoscan = bs.eos() || muxinto.AfterMaxPTS(access_unit.PTS); } unsigned int SUBPStream::ReadPacketPayload(uint8_t *dst, unsigned int to_read) { ! bitcount_t read_start = bs.GetBytePos(); ! mjpeg_debug( "SUBPStream called: ReadPacketPayload at 0x%08lld", read_start); ! vobsub_header vobsub; ! subtitle_header_v3_t &header = vobsub.header; ! bs.GetBytes((uint8_t*) &vobsub,sizeof(vobsub)); ! int16_t skip_len = header.header_length-sizeof(header); ! if (strncmp(vobsub.marker,SUBPHEADER,strlen(SUBPHEADER)) != 0) ! { ! mjpeg_error( "Subtitle: expected header %s!",SUBPHEADER); ! return 0; ! ! } - assert (skip_len>=0); - if (skip_len) - { - uint8_t* b = (uint8_t* ) malloc(skip_len); - - bs.GetBytes(b,skip_len); - free (b); - } - unsigned int bytes_read = bs.GetBytes( dst, header.payload_length ); - bs.Flush( read_start ); - dst[0] = sub_stream_id; - clockticks decode_time; ! unsigned int first_header = ! (new_au_next_sec || au_unsent > bytes_read ) ! ? 0 ! : au_unsent; ! // BUG BUG BUG: how do we set the 1st header pointer if we have ! // the *middle* part of a large frame? ! assert( first_header+2 <= to_read ); ! unsigned int syncwords = 0; ! unsigned int bytes_muxed = bytes_read; ! ! if (bytes_muxed == 0 || MuxCompleted() ) { ! goto completion; } - /* Work through what's left of the current AU and the following AU's - updating the info until we reach a point where an AU had to be - split between packets. - NOTE: It *is* possible for this loop to iterate. ! The DTS/PTS field for the packet in this case would have been ! given the that for the first AU to start in the packet. - */ ! ! decode_time = RequiredDTS(); ! mjpeg_debug("SUBPStream: Required DTS is %lld",decode_time); ! while (au_unsent < bytes_muxed) ! { ! // BUG BUG BUG: if we ever had odd payload / packet size we might ! // split an AC3 frame in the middle of the syncword! ! assert( bytes_muxed > 1 ); ! bufmodel.Queued(au_unsent, decode_time); ! bytes_muxed -= au_unsent; ! if( new_au_next_sec ) ! ++syncwords; ! if( !NextAU() ) ! { ! goto completion; ! } ! new_au_next_sec = true; ! decode_time = RequiredDTS(); ! mjpeg_debug("Required DTS is %lld (while-loop)",decode_time); ! }; ! // We've now reached a point where the current AU overran or ! // fitted exactly. We need to distinguish the latter case ! // so we can record whether the next packet starts with an ! // existing AU or not - info we need to decide what PTS/DTS ! // info to write at the start of the next packet. ! ! if (au_unsent > bytes_muxed) ! { ! if( new_au_next_sec ) ! ++syncwords; ! bufmodel.Queued( bytes_muxed, decode_time); ! au_unsent -= bytes_muxed; ! new_au_next_sec = false; ! } ! else // if (au_unsent == bytes_muxed) ! { ! bufmodel.Queued(bytes_muxed, decode_time); ! if( new_au_next_sec ) ! ++syncwords; ! new_au_next_sec = NextAU(); ! } completion: ! ! return bytes_read; } --- 229,392 ---- void SUBPStream::FillAUbuffer(unsigned int frames_to_buffer) { ! uint32_t discont_ctr; ! last_buffered_AU += frames_to_buffer; ! mjpeg_debug( "Scanning %d Subpicture frames to frame %d", ! frames_to_buffer, last_buffered_AU ); ! prev_offset = AU_start; ! AU_start = bs.bitcount(); ! while (decoding_order < last_buffered_AU && !bs.eos() ! && !muxinto.AfterMaxPTS(access_unit.PTS)) ! { ! if (!ParseAUBitwise()) ! break; ! } ! ! last_buffered_AU = decoding_order; ! eoscan = bs.eos() || muxinto.AfterMaxPTS(access_unit.PTS); } unsigned int SUBPStream::ReadPacketPayload(uint8_t *dst, unsigned int to_read) { ! bool finished_pack = true; ! bitcount_t read_start = bs.GetBytePos(); ! mjpeg_debug( "SUBPStream called: ReadPacketPayload at 0x%08lld", read_start); ! unsigned int bytes_max, bytes_read; ! unsigned int bytes_muxed = bytes_read; ! if (new_au_next_sec == true) ! { // check and skip header ! vobsub_header vobsub; ! if (!CheckAndSkipHeader(vobsub, false)) ! return 0; ! bytes_max = (au_unsent<to_read)?au_unsent:to_read; ! bytes_read = bs.GetBytes( dst, bytes_max); ! if (au_unsent>bytes_read) ! { ! finished_pack=false; ! } ! else ! { ! finished_pack=true; ! } ! bs.Flush( read_start ); ! dst[0] = sub_stream_id; ! bytes_muxed = bytes_read; ! } ! else { ! // continious block ! bytes_max = (au_unsent<to_read-1)?au_unsent:to_read-1; ! bytes_read = bs.GetBytes( dst+1, bytes_max); ! dst[0] = sub_stream_id; ! if (bytes_read == au_unsent) ! finished_pack=true; ! bytes_muxed = bytes_read+1; ! ! bs.Flush( read_start ); ! } ! clockticks decode_time; ! if (bytes_muxed == 0 || MuxCompleted() ) ! { ! goto completion; ! } ! ! /* Check if we're finished with that specific pack ! ! */ ! ! ! decode_time = RequiredDTS(); ! mjpeg_debug("SUBPStream: Required DTS is %lld",decode_time/300.0); ! ! if (!finished_pack) ! { ! bufmodel.Queued( bytes_muxed, decode_time); ! au_unsent -= bytes_muxed; ! if (!new_au_next_sec) ! au_unsent++; ! new_au_next_sec = false; ! } ! else // if (au_unsent == bytes_muxed) ! { ! bufmodel.Queued(bytes_muxed, decode_time); ! new_au_next_sec = NextAU(); ! } completion: ! ! return bytes_muxed; ! //return bytes_read; ! } ! void SUBPStream::OutputSector ( ) ! ! { ! clockticks PTS; ! unsigned int max_packet_data; ! unsigned int actual_payload; ! unsigned int old_au_then_new_payload; ! ! PTS = RequiredDTS(); ! old_au_then_new_payload = ! muxinto.PacketPayload( *this, buffers_in_header, false, false ); ! bool last_packet = Lookahead() == 0; ! // Ensure we have access units data buffered to allow a sector to be ! // written. ! max_packet_data = 0; ! if( (muxinto.running_out && NextRequiredPTS() > muxinto.runout_PTS) ! || last_packet) ! { ! /* We're now in the last AU of a segment. So we don't want to ! go beyond it's end when writing sectors. Hence we limit ! packet payload size to (remaining) AU length. ! */ ! max_packet_data = au_unsent+StreamHeaderSize(); ! } ! ! /* CASE: packet starts with new access unit */ ! ! ! if (new_au_next_sec) ! { ! ! actual_payload = ! muxinto.WritePacket ( max_packet_data, ! *this, ! buffers_in_header, PTS, 0, ! TIMESTAMPBITS_PTS); ! ! } ! ! ! /* CASE: packet starts with old access unit, no new one */ ! /* starts in this very same packet */ ! /* for subtitles: never start a new subtitle in the same packet */ ! else ! { ! ! ! ! actual_payload = ! muxinto.WritePacket ( max_packet_data, ! *this, ! buffers_in_header, 0, 0, ! TIMESTAMPBITS_NO ); ! } ! ! ! ! ++nsec; ! ! buffers_in_header = always_buffers_in_header; ! } Index: inputstrm.hpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/inputstrm.hpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** inputstrm.hpp 20 Feb 2007 02:14:58 -0000 1.12 --- inputstrm.hpp 27 Dec 2013 11:34:30 -0000 1.13 *************** *** 127,131 **** { public: ! enum stream_kind { audio, video, dummy }; ElementaryStream( IBitStream &ibs, --- 127,131 ---- { public: ! enum stream_kind { audio, video, subtitle, dummy }; ElementaryStream( IBitStream &ibs, |
From: Steven S. <sm...@us...> - 2013-11-28 22:39:43
|
Update of /cvsroot/mjpeg/mjpeg_play/y4mutils In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv8416/y4mutils Modified Files: Makefile.am Log Message: PROGRAM_NOPIC apparently causes problems on some x86_64 systems, has little to no performance effect on x86_64 systems and even on x86 systems most programs are I/O bound anyhow. So remove the 4 uses of the flag Index: Makefile.am =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/y4mutils/Makefile.am,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Makefile.am 1 Apr 2012 08:44:49 -0000 1.7 --- Makefile.am 28 Nov 2013 22:39:41 -0000 1.8 *************** *** 3,7 **** MAINTAINERCLEANFILES = Makefile.in ! AM_CFLAGS = @PROGRAM_NOPIC@ AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils --- 3,7 ---- MAINTAINERCLEANFILES = Makefile.in ! AM_CFLAGS = AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/utils |
From: Steven S. <sm...@us...> - 2013-10-28 01:23:57
|
Update of /cvsroot/mjpeg/mjpeg_play/lavtools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31950 Modified Files: lavtrans.c Log Message: No format string in sprintf - skip the sprintf completely. Index: lavtrans.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/lavtools/lavtrans.c,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** lavtrans.c 2 Oct 2005 17:01:30 -0000 1.26 --- lavtrans.c 28 Oct 2013 01:23:55 -0000 1.27 *************** *** 276,281 **** { nv = el_get_video_frame(vbuff, process_image_frame, &el); ! sprintf(imgfname,outfile); ! imgfd = fopen(imgfname,"wb"); if (imgfd==0) system_error("opening image file","fopen"); res = fwrite(vbuff,nv,1,imgfd); --- 276,280 ---- { nv = el_get_video_frame(vbuff, process_image_frame, &el); ! imgfd = fopen(outfile,"wb"); if (imgfd==0) system_error("opening image file","fopen"); res = fwrite(vbuff,nv,1,imgfd); |
From: Steven S. <sm...@us...> - 2013-10-28 01:17:55
|
Update of /cvsroot/mjpeg/mjpeg_play/mpeg2enc In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31550 Modified Files: ontheflyratectlpass2.cc Log Message: Silence the warnings ontheflyratectlpass2.cc:383:33: warning: '&&' within '||' [-Wlogical-op-parentheses] if( actual_bits > target_bits && debiased_target_ABQ > picture.ABQ || ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ ontheflyratectlpass2.cc:383:33: note: place parentheses around the '&&' expression to silence this warning Index: ontheflyratectlpass2.cc =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mpeg2enc/ontheflyratectlpass2.cc,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ontheflyratectlpass2.cc 17 Oct 2010 15:19:48 -0000 1.5 --- ontheflyratectlpass2.cc 28 Oct 2013 01:17:53 -0000 1.6 *************** *** 381,386 **** // If the correction of the correction looks reasonable... use it... double debiased_target_ABQ = target_ABQ * mean_reencode_A_T_ratio; ! if( actual_bits > target_bits && debiased_target_ABQ > picture.ABQ || ! actual_bits < target_bits && debiased_target_ABQ < picture.ABQ ) { target_ABQ = debiased_target_ABQ; --- 381,386 ---- // If the correction of the correction looks reasonable... use it... double debiased_target_ABQ = target_ABQ * mean_reencode_A_T_ratio; ! if( (actual_bits > target_bits && debiased_target_ABQ > picture.ABQ) || ! (actual_bits < target_bits && debiased_target_ABQ < picture.ABQ )) { target_ABQ = debiased_target_ABQ; |
From: Steven S. <sm...@us...> - 2013-10-28 01:13:32
|
Update of /cvsroot/mjpeg/mjpeg_play/mpeg2enc In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv31202 Modified Files: macroblock.cc Log Message: Fix the error acroblock.cc:77:24: warning: & has lower precedence than ==; == will be evaluated first [-Wparentheses] if( i->mb_type & MB_BACKWARD == 0 && cur_score < best_fwd_score) ^~~~~~~~~~~~~~~~~~ macroblock.cc:77:24: note: place parentheses around the '==' expression to silence this warning Index: macroblock.cc =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mpeg2enc/macroblock.cc,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** macroblock.cc 10 May 2008 12:53:42 -0000 1.13 --- macroblock.cc 28 Oct 2013 01:13:29 -0000 1.14 *************** *** 75,79 **** best_me = &*i; } ! if( i->mb_type & MB_BACKWARD == 0 && cur_score < best_fwd_score) { best_fwd_score = cur_score; --- 75,79 ---- best_me = &*i; } ! if( (i->mb_type & MB_BACKWARD) == 0 && cur_score < best_fwd_score) { best_fwd_score = cur_score; |
From: Steven S. <sm...@us...> - 2013-10-28 01:01:32
|
Update of /cvsroot/mjpeg/mjpeg_play/lavtools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30274 Modified Files: yuvfps.c Log Message: usage function takes no arguments Index: yuvfps.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/lavtools/yuvfps.c,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** yuvfps.c 5 Jan 2008 20:19:46 -0000 1.17 --- yuvfps.c 28 Oct 2013 01:01:30 -0000 1.18 *************** *** 560,564 **** case 'h': case '?': ! print_usage (argv); return 0 ; break; --- 560,564 ---- case 'h': case '?': ! print_usage (); return 0 ; break; |
From: Steven S. <sm...@us...> - 2013-10-28 00:59:28
|
Update of /cvsroot/mjpeg/mjpeg_play/lavtools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30046 Modified Files: jpeg2yuv.c Log Message: why use a sprintf to copy a string - gives warning error format string is not a string literal (potentially insecure) [-Wformat-security] Index: jpeg2yuv.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/lavtools/jpeg2yuv.c,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** jpeg2yuv.c 6 Jan 2008 03:28:00 -0000 1.35 --- jpeg2yuv.c 28 Oct 2013 00:59:25 -0000 1.36 *************** *** 452,456 **** if (firstjpeg) { p = firstjpeg; ! sprintf(jpegname, firstjpeg); firstjpeg = NULL; } --- 452,456 ---- if (firstjpeg) { p = firstjpeg; ! strcpy(jpegname, firstjpeg); firstjpeg = NULL; } |
From: Steven S. <sm...@us...> - 2013-10-28 00:50:42
|
Update of /cvsroot/mjpeg/mjpeg_play/lavtools In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv29497 Modified Files: lav2wav.c Log Message: unsigned variable can't be less than 0. Index: lav2wav.c =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/lavtools/lav2wav.c,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** lav2wav.c 6 Dec 2006 00:22:08 -0000 1.34 --- lav2wav.c 28 Oct 2013 00:50:40 -0000 1.35 *************** *** 49,57 **** char *cbuf = buf; size_t count_left = count; ! size_t written; ! while( count_left > 0 ) { written = write( fd, cbuf, count_left ); ! if( written < 0 ) return count-count_left; count_left -= written; --- 49,58 ---- char *cbuf = buf; size_t count_left = count; ! ssize_t written; ! ! while ( count_left > 0 ) { written = write( fd, cbuf, count_left ); ! if ( written < 0 ) return count-count_left; count_left -= written; *************** *** 120,124 **** size = lseek(fd, 0, SEEK_CUR); ! if (size < 0 ) { if( fd > 2 ) --- 121,125 ---- size = lseek(fd, 0, SEEK_CUR); ! if (size == -1) { if( fd > 2 ) |
From: Steven S. <sm...@us...> - 2013-10-28 00:40:24
|
Update of /cvsroot/mjpeg/mjpeg_play/mpeg2enc In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv28780 Modified Files: mpeg2enc.cc Log Message: Unsigned variable can never be less than 0 Index: mpeg2enc.cc =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mpeg2enc/mpeg2enc.cc,v retrieving revision 1.84 retrieving revision 1.85 diff -C2 -d -r1.84 -r1.85 *** mpeg2enc.cc 1 Feb 2012 15:42:38 -0000 1.84 --- mpeg2enc.cc 28 Oct 2013 00:40:22 -0000 1.85 *************** *** 786,794 **** DisplayAspectRatios(); /* Checking has to come later once MPEG 1/2 has been selected...*/ - if( aspect_ratio < 0 ) - { - mjpeg_error( "-a option must be positive"); - ++nerr; - } break; --- 786,789 ---- |
From: Steven S. <sm...@us...> - 2013-10-28 00:35:17
|
Update of /cvsroot/mjpeg/mjpeg_play/mplex In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv28442 Modified Files: subpstream.cpp Log Message: Missing format parameter in mjpeg_info Index: subpstream.cpp =================================================================== RCS file: /cvsroot/mjpeg/mjpeg_play/mplex/subpstream.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** subpstream.cpp 30 Jul 2011 06:02:53 -0000 1.4 --- subpstream.cpp 28 Oct 2013 00:35:15 -0000 1.5 *************** *** 161,165 **** } else { // calculate the time from lpts ! mjpeg_info( "Subtitle: fallback to lpts", subpid); access_unit.PTS= (double)(header.lpts/300)/90000.0; } --- 161,165 ---- } else { // calculate the time from lpts ! mjpeg_info( "Subtitle %d: fallback to lpts", subpid); access_unit.PTS= (double)(header.lpts/300)/90000.0; } |