Changeset 1828 for trunk/platform/sx40hs/lib.c
- Timestamp:
- 04/25/12 01:20:34 (13 months ago)
- File:
-
- 1 edited
-
trunk/platform/sx40hs/lib.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/platform/sx40hs/lib.c
r1527 r1828 74 74 void *vid_get_viewport_live_fb() 75 75 { 76 if (MODE_IS_VIDEO(mode_get()) || (movie_status==VIDEO_RECORD_IN_PROGRESS)) 77 return viewport_buffers[0]; // Video only seems to use the first viewport buffer. 78 76 79 // Hopefully return the most recently used viewport buffer so that motion detect, histogram, zebra and edge overly are using current image data 77 80 return viewport_buffers[(active_viewport_buffer-1)&3]; … … 90 93 int vid_get_viewport_width() 91 94 { 92 // viewport width table for each image size 93 // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1 94 static long vp_w[5] = { 360, 360, 360, 272 }; 95 return vp_w[shooting_get_prop(PROPCASE_ASPECT_RATIO)]; 95 if (shooting_get_prop(PROPCASE_SHOOTING_MODE) == 16909) // Stitch mode 96 { 97 return 180; 98 } 99 else 100 { 101 // viewport width table for each image size 102 // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1 103 static long vp_w[5] = { 360, 360, 360, 272 }; 104 return vp_w[shooting_get_prop(PROPCASE_ASPECT_RATIO)]; 105 } 96 106 } 97 107 98 108 int vid_get_viewport_xoffset() 99 109 { 100 // viewport width offset table for each image size 101 // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1 102 static long vp_w[5] = { 0, 0, 0, 44 }; // should all be even values for edge overlay 103 return vp_w[shooting_get_prop(PROPCASE_ASPECT_RATIO)]; 110 if (shooting_get_prop(PROPCASE_SHOOTING_MODE) == 16909) // Stitch mode 111 { 112 return 0; 113 } 114 else 115 { 116 // viewport width offset table for each image size 117 // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1 118 static long vp_w[5] = { 0, 0, 0, 44 }; // should all be even values for edge overlay 119 return vp_w[shooting_get_prop(PROPCASE_ASPECT_RATIO)]; 120 } 121 } 122 123 int vid_get_viewport_display_xoffset() 124 { 125 if (shooting_get_prop(PROPCASE_SHOOTING_MODE) == 16909) // Stitch mode 126 { 127 if (shooting_get_prop(PROPCASE_STITCH_DIRECTION) == 0) // Direction check 128 if (shooting_get_prop(PROPCASE_STITCH_SEQUENCE) == 0) // Shot already taken? 129 return 40; 130 else 131 return 140; 132 else 133 if (shooting_get_prop(PROPCASE_STITCH_SEQUENCE) == 0) // Shot already taken? 134 return 140; 135 else 136 return 40; 137 } 138 else 139 { 140 return vid_get_viewport_xoffset(); 141 } 104 142 } 105 143 106 144 long vid_get_viewport_height() 107 145 { 108 // viewport height table for each image size 109 // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1 110 static long vp_h[5] = { 240, 180, 214, 240 }; 111 return vp_h[shooting_get_prop(PROPCASE_ASPECT_RATIO)]; 146 if (shooting_get_prop(PROPCASE_SHOOTING_MODE) == 16909) // Stitch mode 147 { 148 return 120; 149 } 150 else 151 { 152 // viewport height table for each image size 153 // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1 154 static long vp_h[5] = { 240, 180, 214, 240 }; 155 return vp_h[shooting_get_prop(PROPCASE_ASPECT_RATIO)]; 156 } 112 157 } 113 158 114 159 int vid_get_viewport_yoffset() 115 160 { 116 // viewport height offset table for each image size 117 // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1 118 static long vp_h[5] = { 0, 30, 13, 0 }; 119 return vp_h[shooting_get_prop(PROPCASE_ASPECT_RATIO)]; 161 if (shooting_get_prop(PROPCASE_SHOOTING_MODE) == 16909) // Stitch mode 162 { 163 return 0; 164 } 165 else 166 { 167 // viewport height offset table for each image size 168 // 0 = 4:3, 1 = 16:9, 2 = 3:2, 3 = 1:1 169 static long vp_h[5] = { 0, 30, 13, 0 }; 170 return vp_h[shooting_get_prop(PROPCASE_ASPECT_RATIO)]; 171 } 172 } 173 174 int vid_get_viewport_display_yoffset() 175 { 176 if (shooting_get_prop(PROPCASE_SHOOTING_MODE) == 16909) // Stitch mode 177 { 178 return 72; 179 } 180 else 181 { 182 return vid_get_viewport_yoffset(); 183 } 120 184 } 121 185 122 186 // Functions for PTP Live View system 123 187 124 int vid_get_viewport_xoffset_proper() { return vid_get_viewport_xoffset() * 2; } 125 int vid_get_viewport_yoffset_proper() { return vid_get_viewport_yoffset(); } 188 int vid_get_viewport_display_xoffset_proper() { return vid_get_viewport_display_xoffset() * 2; } 126 189 int vid_get_viewport_width_proper() { return vid_get_viewport_width() * 2; } 127 190 int vid_get_viewport_height_proper() { return vid_get_viewport_height(); }
Note: See TracChangeset
for help on using the changeset viewer.