# HG changeset patch # User takis # Date 1215559222 0 # Node ID c3b9334f46ae9616b130b33b257ebdaeda894474 # Parent 8bce09af18e62576fb457f7940d3262d037072f1 One-bit bitfields should probably be unsigned. Unfortunately, it is left up to the compiler on how one bit fields are treated. gcc treats one-bit bitfields as signed and allows for the -funsigned-field parameter. Other compilers (like Sun C) treat one-bit bitfields as unsigned no matter what. Patch by Erik Hovland erik hovland org diff -r 8bce09af18e6 -r c3b9334f46ae avformat.h --- a/avformat.h Tue Jul 08 14:07:37 2008 +0000 +++ b/avformat.h Tue Jul 08 23:20:22 2008 +0000 @@ -160,13 +160,13 @@ enum PixelFormat pix_fmt; int channel; /**< used to select dv channel */ const char *standard; /**< tv standard, NTSC, PAL, SECAM */ - int mpeg2ts_raw:1; /**< force raw MPEG2 transport stream output, if possible */ - int mpeg2ts_compute_pcr:1; /**< compute exact PCR for each transport - stream packet (only meaningful if - mpeg2ts_raw is TRUE) */ - int initial_pause:1; /**< do not begin to play the stream - immediately (RTSP only) */ - int prealloced_context:1; + unsigned int mpeg2ts_raw:1; /**< force raw MPEG2 transport stream output, if possible */ + unsigned int mpeg2ts_compute_pcr:1; /**< compute exact PCR for each transport + stream packet (only meaningful if + mpeg2ts_raw is TRUE) */ + unsigned int initial_pause:1; /**< do not begin to play the stream + immediately (RTSP only) */ + unsigned int prealloced_context:1; #if LIBAVFORMAT_VERSION_INT < (53<<16) enum CodecID video_codec_id; enum CodecID audio_codec_id; diff -r 8bce09af18e6 -r c3b9334f46ae mpegts.c --- a/mpegts.c Tue Jul 08 14:07:37 2008 +0000 +++ b/mpegts.c Tue Jul 08 23:20:22 2008 +0000 @@ -63,8 +63,8 @@ int section_index; int section_h_size; uint8_t *section_buf; - int check_crc:1; - int end_of_section_reached:1; + unsigned int check_crc:1; + unsigned int end_of_section_reached:1; SectionCallback *section_cb; void *opaque; } MpegTSSectionFilter;