Author: robux4
Date: 2004-09-15 00:18:49 +0400 (Wed, 15 Sep 2004)
New Revision: 805
Modified:
trunk/DvdMenuXtractor/libdvdread/dvdread/ifo_types.h
trunk/DvdMenuXtractor/libdvdread/dvdread/nav_types.h
Log:
fix the bitfields for MSVC
Modified: trunk/DvdMenuXtractor/libdvdread/dvdread/ifo_types.h
===================================================================
--- trunk/DvdMenuXtractor/libdvdread/dvdread/ifo_types.h 2004-09-14 13:21:57 UTC (rev 804)
+++ trunk/DvdMenuXtractor/libdvdread/dvdread/ifo_types.h 2004-09-14 20:18:49 UTC (rev 805)
@@ -76,33 +76,33 @@
*/
typedef struct {
#ifdef WORDS_BIGENDIAN
- unsigned int mpeg_version : 2;
- unsigned int video_format : 2;
- unsigned int display_aspect_ratio : 2;
- unsigned int permitted_df : 2;
+ unsigned char mpeg_version : 2;
+ unsigned char video_format : 2;
+ unsigned char display_aspect_ratio : 2;
+ unsigned char permitted_df : 2;
- unsigned int line21_cc_1 : 1;
- unsigned int line21_cc_2 : 1;
- unsigned int unknown1 : 1;
- unsigned int bit_rate : 1;
+ unsigned char line21_cc_1 : 1;
+ unsigned char line21_cc_2 : 1;
+ unsigned char unknown1 : 1;
+ unsigned char bit_rate : 1;
- unsigned int picture_size : 2;
- unsigned int letterboxed : 1;
- unsigned int film_mode : 1;
+ unsigned char picture_size : 2;
+ unsigned char letterboxed : 1;
+ unsigned char film_mode : 1;
#else
- unsigned int permitted_df : 2;
- unsigned int display_aspect_ratio : 2;
- unsigned int video_format : 2;
- unsigned int mpeg_version : 2;
+ unsigned char permitted_df : 2;
+ unsigned char display_aspect_ratio : 2;
+ unsigned char video_format : 2;
+ unsigned char mpeg_version : 2;
- unsigned int film_mode : 1;
- unsigned int letterboxed : 1;
- unsigned int picture_size : 2;
+ unsigned char film_mode : 1;
+ unsigned char letterboxed : 1;
+ unsigned char picture_size : 2;
- unsigned int bit_rate : 1;
- unsigned int unknown1 : 1;
- unsigned int line21_cc_2 : 1;
- unsigned int line21_cc_1 : 1;
+ unsigned char bit_rate : 1;
+ unsigned char unknown1 : 1;
+ unsigned char line21_cc_2 : 1;
+ unsigned char line21_cc_1 : 1;
#endif
} ATTRIBUTE_PACKED video_attr_t;
@@ -111,25 +111,25 @@
*/
typedef struct {
#ifdef WORDS_BIGENDIAN
- unsigned int audio_format : 3;
- unsigned int multichannel_extension : 1;
- unsigned int lang_type : 2;
- unsigned int application_mode : 2;
+ unsigned char audio_format : 3;
+ unsigned char multichannel_extension : 1;
+ unsigned char lang_type : 2;
+ unsigned char application_mode : 2;
- unsigned int quantization : 2;
- unsigned int sample_frequency : 2;
- unsigned int unknown1 : 1;
- unsigned int channels : 3;
+ unsigned char quantization : 2;
+ unsigned char sample_frequency : 2;
+ unsigned char unknown1 : 1;
+ unsigned char channels : 3;
#else
- unsigned int application_mode : 2;
- unsigned int lang_type : 2;
- unsigned int multichannel_extension : 1;
- unsigned int audio_format : 3;
+ unsigned char application_mode : 2;
+ unsigned char lang_type : 2;
+ unsigned char multichannel_extension : 1;
+ unsigned char audio_format : 3;
- unsigned int channels : 3;
- unsigned int unknown1 : 1;
- unsigned int sample_frequency : 2;
- unsigned int quantization : 2;
+ unsigned char channels : 3;
+ unsigned char unknown1 : 1;
+ unsigned char sample_frequency : 2;
+ unsigned char quantization : 2;
#endif
uint16_t lang_code;
uint8_t lang_extension;
@@ -138,28 +138,28 @@
union {
struct ATTRIBUTE_PACKED {
#ifdef WORDS_BIGENDIAN
- unsigned int unknown4 : 1;
- unsigned int channel_assignment : 3;
- unsigned int version : 2;
- unsigned int mc_intro : 1; /* probably 0: true, 1:false */
- unsigned int mode : 1; /* Karaoke mode 0: solo 1: duet */
+ unsigned char unknown4 : 1;
+ unsigned char channel_assignment : 3;
+ unsigned char version : 2;
+ unsigned char mc_intro : 1; /* probably 0: true, 1:false */
+ unsigned char mode : 1; /* Karaoke mode 0: solo 1: duet */
#else
- unsigned int mode : 1;
- unsigned int mc_intro : 1;
- unsigned int version : 2;
- unsigned int channel_assignment : 3;
- unsigned int unknown4 : 1;
+ unsigned char mode : 1;
+ unsigned char mc_intro : 1;
+ unsigned char version : 2;
+ unsigned char channel_assignment : 3;
+ unsigned char unknown4 : 1;
#endif
} karaoke;
struct ATTRIBUTE_PACKED {
#ifdef WORDS_BIGENDIAN
- unsigned int unknown5 : 4;
- unsigned int dolby_encoded : 1; /* suitable for surround decoding */
- unsigned int unknown6 : 3;
+ unsigned char unknown5 : 4;
+ unsigned char dolby_encoded : 1; /* suitable for surround decoding */
+ unsigned char unknown6 : 3;
#else
- unsigned int unknown6 : 3;
- unsigned int dolby_encoded : 1;
- unsigned int unknown5 : 4;
+ unsigned char unknown6 : 3;
+ unsigned char dolby_encoded : 1;
+ unsigned char unknown5 : 4;
#endif
} surround;
} app_info;
@@ -171,53 +171,53 @@
*/
typedef struct {
#ifdef WORDS_BIGENDIAN
- unsigned int zero1 : 7;
- unsigned int ach0_gme : 1;
+ unsigned char zero1 : 7;
+ unsigned char ach0_gme : 1;
- unsigned int zero2 : 7;
- unsigned int ach1_gme : 1;
+ unsigned char zero2 : 7;
+ unsigned char ach1_gme : 1;
- unsigned int zero3 : 4;
- unsigned int ach2_gv1e : 1;
- unsigned int ach2_gv2e : 1;
- unsigned int ach2_gm1e : 1;
- unsigned int ach2_gm2e : 1;
+ unsigned char zero3 : 4;
+ unsigned char ach2_gv1e : 1;
+ unsigned char ach2_gv2e : 1;
+ unsigned char ach2_gm1e : 1;
+ unsigned char ach2_gm2e : 1;
- unsigned int zero4 : 4;
- unsigned int ach3_gv1e : 1;
- unsigned int ach3_gv2e : 1;
- unsigned int ach3_gmAe : 1;
- unsigned int ach3_se2e : 1;
+ unsigned char zero4 : 4;
+ unsigned char ach3_gv1e : 1;
+ unsigned char ach3_gv2e : 1;
+ unsigned char ach3_gmAe : 1;
+ unsigned char ach3_se2e : 1;
- unsigned int zero5 : 4;
- unsigned int ach4_gv1e : 1;
- unsigned int ach4_gv2e : 1;
- unsigned int ach4_gmBe : 1;
- unsigned int ach4_seBe : 1;
+ unsigned char zero5 : 4;
+ unsigned char ach4_gv1e : 1;
+ unsigned char ach4_gv2e : 1;
+ unsigned char ach4_gmBe : 1;
+ unsigned char ach4_seBe : 1;
#else
- unsigned int ach0_gme : 1;
- unsigned int zero1 : 7;
+ unsigned char ach0_gme : 1;
+ unsigned char zero1 : 7;
- unsigned int ach1_gme : 1;
- unsigned int zero2 : 7;
+ unsigned char ach1_gme : 1;
+ unsigned char zero2 : 7;
- unsigned int ach2_gm2e : 1;
- unsigned int ach2_gm1e : 1;
- unsigned int ach2_gv2e : 1;
- unsigned int ach2_gv1e : 1;
- unsigned int zero3 : 4;
+ unsigned char ach2_gm2e : 1;
+ unsigned char ach2_gm1e : 1;
+ unsigned char ach2_gv2e : 1;
+ unsigned char ach2_gv1e : 1;
+ unsigned char zero3 : 4;
- unsigned int ach3_se2e : 1;
- unsigned int ach3_gmAe : 1;
- unsigned int ach3_gv2e : 1;
- unsigned int ach3_gv1e : 1;
- unsigned int zero4 : 4;
+ unsigned char ach3_se2e : 1;
+ unsigned char ach3_gmAe : 1;
+ unsigned char ach3_gv2e : 1;
+ unsigned char ach3_gv1e : 1;
+ unsigned char zero4 : 4;
- unsigned int ach4_seBe : 1;
- unsigned int ach4_gmBe : 1;
- unsigned int ach4_gv2e : 1;
- unsigned int ach4_gv1e : 1;
- unsigned int zero5 : 4;
+ unsigned char ach4_seBe : 1;
+ unsigned char ach4_gmBe : 1;
+ unsigned char ach4_gv2e : 1;
+ unsigned char ach4_gv1e : 1;
+ unsigned char zero5 : 4;
#endif
uint8_t zero6[19];
} ATTRIBUTE_PACKED multichannel_ext_t;
@@ -238,13 +238,13 @@
* lang extension: if type == 1 contains the lang extension
*/
#ifdef WORDS_BIGENDIAN
- unsigned int code_mode : 3;
- unsigned int zero1 : 3;
- unsigned int type : 2;
+ unsigned char code_mode : 3;
+ unsigned char zero1 : 3;
+ unsigned char type : 2;
#else
- unsigned int type : 2;
- unsigned int zero1 : 3;
- unsigned int code_mode : 3;
+ unsigned char type : 2;
+ unsigned char zero1 : 3;
+ unsigned char code_mode : 3;
#endif
uint8_t zero2;
uint16_t lang_code;
@@ -278,27 +278,27 @@
*/
typedef struct {
#ifdef WORDS_BIGENDIAN
- unsigned int block_mode : 2;
- unsigned int block_type : 2;
- unsigned int seamless_play : 1;
- unsigned int interleaved : 1;
- unsigned int stc_discontinuity: 1;
- unsigned int seamless_angle : 1;
+ unsigned char block_mode : 2;
+ unsigned char block_type : 2;
+ unsigned char seamless_play : 1;
+ unsigned char interleaved : 1;
+ unsigned char stc_discontinuity: 1;
+ unsigned char seamless_angle : 1;
- unsigned int playback_mode : 1; /**< When set, enter StillMode after each VOBU */
- unsigned int restricted : 1; /**< ?? drop out of fastforward? */
- unsigned int unknown2 : 6;
+ unsigned char playback_mode : 1; /**< When set, enter StillMode after each VOBU */
+ unsigned char restricted : 1; /**< ?? drop out of fastforward? */
+ unsigned char unknown2 : 6;
#else
- unsigned int seamless_angle : 1;
- unsigned int stc_discontinuity: 1;
- unsigned int interleaved : 1;
- unsigned int seamless_play : 1;
- unsigned int block_type : 2;
- unsigned int block_mode : 2;
+ unsigned char seamless_angle : 1;
+ unsigned char stc_discontinuity: 1;
+ unsigned char interleaved : 1;
+ unsigned char seamless_play : 1;
+ unsigned char block_type : 2;
+ unsigned char block_mode : 2;
- unsigned int unknown2 : 6;
- unsigned int restricted : 1;
- unsigned int playback_mode : 1;
+ unsigned char unknown2 : 6;
+ unsigned char restricted : 1;
+ unsigned char playback_mode : 1;
#endif
uint8_t still_time;
uint8_t cell_cmd_nr;
@@ -331,65 +331,65 @@
*/
typedef struct {
#ifdef WORDS_BIGENDIAN
- unsigned int zero : 7; /* 25-31 */
- unsigned int video_pres_mode_change : 1; /* 24 */
+ unsigned char zero : 7; /* 25-31 */
+ unsigned char video_pres_mode_change : 1; /* 24 */
- unsigned int karaoke_audio_pres_mode_change : 1; /* 23 */
- unsigned int angle_change : 1;
- unsigned int subpic_stream_change : 1;
- unsigned int audio_stream_change : 1;
- unsigned int pause_on : 1;
- unsigned int still_off : 1;
- unsigned int button_select_or_activate : 1;
- unsigned int resume : 1; /* 16 */
+ unsigned char karaoke_audio_pres_mode_change : 1; /* 23 */
+ unsigned char angle_change : 1;
+ unsigned char subpic_stream_change : 1;
+ unsigned char audio_stream_change : 1;
+ unsigned char pause_on : 1;
+ unsigned char still_off : 1;
+ unsigned char button_select_or_activate : 1;
+ unsigned char resume : 1; /* 16 */
- unsigned int chapter_menu_call : 1; /* 15 */
- unsigned int angle_menu_call : 1;
- unsigned int audio_menu_call : 1;
- unsigned int subpic_menu_call : 1;
- unsigned int root_menu_call : 1;
- unsigned int title_menu_call : 1;
- unsigned int backward_scan : 1;
- unsigned int forward_scan : 1; /* 8 */
+ unsigned char chapter_menu_call : 1; /* 15 */
+ unsigned char angle_menu_call : 1;
+ unsigned char audio_menu_call : 1;
+ unsigned char subpic_menu_call : 1;
+ unsigned char root_menu_call : 1;
+ unsigned char title_menu_call : 1;
+ unsigned char backward_scan : 1;
+ unsigned char forward_scan : 1; /* 8 */
- unsigned int next_pg_search : 1; /* 7 */
- unsigned int prev_or_top_pg_search : 1;
- unsigned int time_or_chapter_search : 1;
- unsigned int go_up : 1;
- unsigned int stop : 1;
- unsigned int title_play : 1;
- unsigned int chapter_search_or_play : 1;
- unsigned int title_or_time_play : 1; /* 0 */
+ unsigned char next_pg_search : 1; /* 7 */
+ unsigned char prev_or_top_pg_search : 1;
+ unsigned char time_or_chapter_search : 1;
+ unsigned char go_up : 1;
+ unsigned char stop : 1;
+ unsigned char title_play : 1;
+ unsigned char chapter_search_or_play : 1;
+ unsigned char title_or_time_play : 1; /* 0 */
#else
- unsigned int video_pres_mode_change : 1; /* 24 */
- unsigned int zero : 7; /* 25-31 */
+ unsigned char video_pres_mode_change : 1; /* 24 */
+ unsigned char zero : 7; /* 25-31 */
- unsigned int resume : 1; /* 16 */
- unsigned int button_select_or_activate : 1;
- unsigned int still_off : 1;
- unsigned int pause_on : 1;
- unsigned int audio_stream_change : 1;
- unsigned int subpic_stream_change : 1;
- unsigned int angle_change : 1;
- unsigned int karaoke_audio_pres_mode_change : 1; /* 23 */
+ unsigned char resume : 1; /* 16 */
+ unsigned char button_select_or_activate : 1;
+ unsigned char still_off : 1;
+ unsigned char pause_on : 1;
+ unsigned char audio_stream_change : 1;
+ unsigned char subpic_stream_change : 1;
+ unsigned char angle_change : 1;
+ unsigned char karaoke_audio_pres_mode_change : 1; /* 23 */
- unsigned int forward_scan : 1; /* 8 */
- unsigned int backward_scan : 1;
- unsigned int title_menu_call : 1;
- unsigned int root_menu_call : 1;
- unsigned int subpic_menu_call : 1;
- unsigned int audio_menu_call : 1;
- unsigned int angle_menu_call : 1;
- unsigned int chapter_menu_call : 1; /* 15 */
+ unsigned char forward_scan : 1; /* 8 */
+ unsigned char backward_scan : 1;
+ unsigned char title_menu_call : 1;
+ unsigned char root_menu_call : 1;
+ unsigned char subpic_menu_call : 1;
+ unsigned char audio_menu_call : 1;
+ unsigned char angle_menu_call : 1;
+ unsigned char chapter_menu_call : 1; /* 15 */
- unsigned int title_or_time_play : 1; /* 0 */
- unsigned int chapter_search_or_play : 1;
- unsigned int title_play : 1;
- unsigned int stop : 1;
- unsigned int go_up : 1;
- unsigned int time_or_chapter_search : 1;
- unsigned int prev_or_top_pg_search : 1;
- unsigned int next_pg_search : 1; /* 7 */
+ unsigned char title_or_time_play : 1; /* 0 */
+ unsigned char chapter_search_or_play : 1;
+ unsigned char title_play : 1;
+ unsigned char stop : 1;
+ unsigned char go_up : 1;
+ unsigned char time_or_chapter_search : 1;
+ unsigned char prev_or_top_pg_search : 1;
+ unsigned char next_pg_search : 1; /* 7 */
#endif
} ATTRIBUTE_PACKED user_ops_t;
@@ -427,13 +427,13 @@
typedef struct {
uint8_t entry_id;
#ifdef WORDS_BIGENDIAN
- unsigned int block_mode : 2;
- unsigned int block_type : 2;
- unsigned int unknown1 : 4;
+ unsigned char block_mode : 2;
+ unsigned char block_type : 2;
+ unsigned char unknown1 : 4;
#else
- unsigned int unknown1 : 4;
- unsigned int block_type : 2;
- unsigned int block_mode : 2;
+ unsigned char unknown1 : 4;
+ unsigned char block_type : 2;
+ unsigned char block_mode : 2;
#endif
uint16_t ptl_id_mask;
uint32_t pgc_start_byte;
@@ -560,23 +560,23 @@
typedef struct {
#ifdef WORDS_BIGENDIAN
- unsigned int zero_1 : 1;
- unsigned int multi_or_random_pgc_title : 1; /* 0: one sequential pgc title */
- unsigned int jlc_exists_in_cell_cmd : 1;
- unsigned int jlc_exists_in_prepost_cmd : 1;
- unsigned int jlc_exists_in_button_cmd : 1;
- unsigned int jlc_exists_in_tt_dom : 1;
- unsigned int chapter_search_or_play : 1; /* UOP 1 */
- unsigned int title_or_time_play : 1; /* UOP 0 */
+ unsigned char zero_1 : 1;
+ unsigned char multi_or_random_pgc_title : 1; /* 0: one sequential pgc title */
+ unsigned char jlc_exists_in_cell_cmd : 1;
+ unsigned char jlc_exists_in_prepost_cmd : 1;
+ unsigned char jlc_exists_in_button_cmd : 1;
+ unsigned char jlc_exists_in_tt_dom : 1;
+ unsigned char chapter_search_or_play : 1; /* UOP 1 */
+ unsigned char title_or_time_play : 1; /* UOP 0 */
#else
- unsigned int title_or_time_play : 1;
- unsigned int chapter_search_or_play : 1;
- unsigned int jlc_exists_in_tt_dom : 1;
- unsigned int jlc_exists_in_button_cmd : 1;
- unsigned int jlc_exists_in_prepost_cmd : 1;
- unsigned int jlc_exists_in_cell_cmd : 1;
- unsigned int multi_or_random_pgc_title : 1;
- unsigned int zero_1 : 1;
+ unsigned char title_or_time_play : 1;
+ unsigned char chapter_search_or_play : 1;
+ unsigned char jlc_exists_in_tt_dom : 1;
+ unsigned char jlc_exists_in_button_cmd : 1;
+ unsigned char jlc_exists_in_prepost_cmd : 1;
+ unsigned char jlc_exists_in_cell_cmd : 1;
+ unsigned char multi_or_random_pgc_title : 1;
+ unsigned char zero_1 : 1;
#endif
} ATTRIBUTE_PACKED playback_type_t;
Modified: trunk/DvdMenuXtractor/libdvdread/dvdread/nav_types.h
===================================================================
--- trunk/DvdMenuXtractor/libdvdread/dvdread/nav_types.h 2004-09-14 13:21:57 UTC (rev 804)
+++ trunk/DvdMenuXtractor/libdvdread/dvdread/nav_types.h 2004-09-14 20:18:49 UTC (rev 805)
@@ -103,23 +103,23 @@
uint32_t hli_e_ptm; /**< end ptm of hli */
uint32_t btn_se_e_ptm; /**< end ptm of button select */
#ifdef WORDS_BIGENDIAN
- unsigned int zero1 : 2; /**< reserved */
- unsigned int btngr_ns : 2; /**< number of button groups 1, 2 or 3 with 36/18/12 buttons */
- unsigned int zero2 : 1; /**< reserved */
- unsigned int btngr1_dsp_ty : 3; /**< display type of subpic stream for button group 1 */
- unsigned int zero3 : 1; /**< reserved */
- unsigned int btngr2_dsp_ty : 3; /**< display type of subpic stream for button group 2 */
- unsigned int zero4 : 1; /**< reserved */
- unsigned int btngr3_dsp_ty : 3; /**< display type of subpic stream for button group 3 */
+ unsigned char zero1 : 2; /**< reserved */
+ unsigned char btngr_ns : 2; /**< number of button groups 1, 2 or 3 with 36/18/12 buttons */
+ unsigned char zero2 : 1; /**< reserved */
+ unsigned char btngr1_dsp_ty : 3; /**< display type of subpic stream for button group 1 */
+ unsigned char zero3 : 1; /**< reserved */
+ unsigned char btngr2_dsp_ty : 3; /**< display type of subpic stream for button group 2 */
+ unsigned char zero4 : 1; /**< reserved */
+ unsigned char btngr3_dsp_ty : 3; /**< display type of subpic stream for button group 3 */
#else
- unsigned int btngr1_dsp_ty : 3;
- unsigned int zero2 : 1;
- unsigned int btngr_ns : 2;
- unsigned int zero1 : 2;
- unsigned int btngr3_dsp_ty : 3;
- unsigned int zero4 : 1;
- unsigned int btngr2_dsp_ty : 3;
- unsigned int zero3 : 1;
+ unsigned char btngr1_dsp_ty : 3;
+ unsigned char zero2 : 1;
+ unsigned char btngr_ns : 2;
+ unsigned char zero1 : 2;
+ unsigned char btngr3_dsp_ty : 3;
+ unsigned char zero4 : 1;
+ unsigned char btngr2_dsp_ty : 3;
+ unsigned char zero3 : 1;
#endif
uint8_t btn_ofn; /**< button offset number range 0-255 */
uint8_t btn_ns; /**< number of valid buttons <= 36/18/12 (low 6 bits) */
@@ -166,10 +166,10 @@
unsigned int zero4 : 2; /**< reserved */
unsigned int down : 6; /**< button index when pressing down */
- unsigned int zero5 : 2; /**< reserved */
- unsigned int left : 6; /**< button index when pressing left */
- unsigned int zero6 : 2; /**< reserved */
- unsigned int right : 6; /**< button index when pressing right */
+ unsigned char zero5 : 2; /**< reserved */
+ unsigned char left : 6; /**< button index when pressing left */
+ unsigned char zero6 : 2; /**< reserved */
+ unsigned char right : 6; /**< button index when pressing right */
#else
unsigned int x_end : 10;
unsigned int zero1 : 2;
@@ -186,10 +186,10 @@
unsigned int down : 6;
unsigned int zero4 : 2;
- unsigned int left : 6;
- unsigned int zero5 : 2;
- unsigned int right : 6;
- unsigned int zero6 : 2;
+ unsigned char left : 6;
+ unsigned char zero5 : 2;
+ unsigned char right : 6;
+ unsigned char zero6 : 2;
#endif
vm_cmd_t cmd;
} ATTRIBUTE_PACKED btni_t;
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.