Changeset 3819 for pjproject/trunk/pjmedia/src/pjmedia/format.c
- Timestamp:
- Oct 18, 2011 1:51:01 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
pjproject/trunk/pjmedia/src/pjmedia/format.c
r3715 r3819 79 79 pjmedia_video_apply_fmt_param *aparam); 80 80 81 static pj_status_t apply_planar_444(const pjmedia_video_format_info *fi, 82 pjmedia_video_apply_fmt_param *aparam); 83 81 84 struct pjmedia_video_format_mgr 82 85 { … … 93 96 {PJMEDIA_FORMAT_BGRA, "BGRA", PJMEDIA_COLOR_MODEL_RGB, 32, 1, &apply_packed_fmt}, 94 97 {PJMEDIA_FORMAT_DIB , "DIB ", PJMEDIA_COLOR_MODEL_RGB, 24, 1, &apply_packed_fmt}, 98 {PJMEDIA_FORMAT_GBRP, "GBRP", PJMEDIA_COLOR_MODEL_RGB, 24, 3, &apply_planar_444}, 95 99 {PJMEDIA_FORMAT_AYUV, "AYUV", PJMEDIA_COLOR_MODEL_YUV, 32, 1, &apply_packed_fmt}, 96 100 {PJMEDIA_FORMAT_YUY2, "YUY2", PJMEDIA_COLOR_MODEL_YUV, 16, 1, &apply_packed_fmt}, … … 241 245 } 242 246 247 static pj_status_t apply_planar_444(const pjmedia_video_format_info *fi, 248 pjmedia_video_apply_fmt_param *aparam) 249 { 250 unsigned i; 251 pj_size_t Y_bytes; 252 253 PJ_UNUSED_ARG(fi); 254 255 /* Calculate memsize */ 256 Y_bytes = (pj_size_t)(aparam->size.w * aparam->size.h); 257 aparam->framebytes = (Y_bytes * 3); 258 259 /* Planar formats use 3 plane */ 260 aparam->strides[0] = aparam->strides[1] = 261 aparam->strides[2] = aparam->size.w; 262 263 aparam->planes[0] = aparam->buffer; 264 aparam->planes[1] = aparam->planes[0] + Y_bytes; 265 aparam->planes[2] = aparam->planes[1] + Y_bytes; 266 267 aparam->plane_bytes[0] = aparam->plane_bytes[1] = 268 aparam->plane_bytes[2] = Y_bytes; 269 270 /* Zero unused planes */ 271 for (i=3; i<PJMEDIA_MAX_VIDEO_PLANES; ++i) { 272 aparam->strides[i] = 0; 273 aparam->planes[i] = NULL; 274 aparam->plane_bytes[i] = 0; 275 } 276 277 return PJ_SUCCESS; 278 } 279 243 280 PJ_DEF(pj_status_t) 244 281 pjmedia_video_format_mgr_create(pj_pool_t *pool,
Note: See TracChangeset
for help on using the changeset viewer.