• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/minidlna/ffmpeg-2.3.4/libavfilter/

Lines Matching refs:mpi

251 void ff_vf_mpi_clear(mp_image_t* mpi,int x0,int y0,int w,int h){
253 if(mpi->flags&MP_IMGFLAG_PLANAR){
255 if(x0==0 && w==mpi->width){
257 memset(mpi->planes[0]+mpi->stride[0]*y0,0,mpi->stride[0]*h);
258 memset(mpi->planes[1]+mpi->stride[1]*(y0>>mpi->chroma_y_shift),128,mpi->stride[1]*(h>>mpi->chroma_y_shift));
259 memset(mpi->planes[2]+mpi->stride[2]*(y0>>mpi->chroma_y_shift),128,mpi->stride[2]*(h>>mpi->chroma_y_shift));
262 memset(mpi->planes[0]+x0+mpi->stride[0]*y,0,w);
263 memset(mpi->planes[0]+x0+mpi->stride[0]*(y+1),0,w);
264 memset(mpi->planes[1]+(x0>>mpi->chroma_x_shift)+mpi->stride[1]*(y>>mpi->chroma_y_shift),128,(w>>mpi->chroma_x_shift));
265 memset(mpi->planes[2]+(x0>>mpi->chroma_x_shift)+mpi->stride[2]*(y>>mpi->chroma_y_shift),128,(w>>mpi->chroma_x_shift));
271 unsigned char* dst=mpi->planes[0]+mpi->stride[0]*y+(mpi->bpp>>3)*x0;
272 if(mpi->flags&MP_IMGFLAG_YUV){
274 int size=(mpi->bpp>>3)*w/4;
283 if(mpi->flags&MP_IMGFLAG_SWAPPED){
291 memset(dst,0,(mpi->bpp>>3)*w);
306 mp_image_t* mpi=NULL;
333 mpi=vf->imgctx.export_images[0];
337 mpi=vf->imgctx.static_images[0];
341 mpi=vf->imgctx.temp_images[0];
346 mpi=vf->imgctx.temp_images[0];
351 mpi=vf->imgctx.static_images[vf->imgctx.static_idx];
364 mpi = vf->imgctx.numbered_images[number];
365 mpi->number = number;
368 if(mpi){
369 mpi->type=mp_imgtype;
370 mpi->w=vf->w; mpi->h=vf->h;
372 // mpi->flags&=~(MP_IMGFLAG_PRESERVE|MP_IMGFLAG_READABLE|MP_IMGFLAG_DIRECT);
373 mpi->flags&=MP_IMGFLAG_ALLOCATED|MP_IMGFLAG_TYPE_DISPLAYED|MP_IMGFLAGMASK_COLORS;
375 mpi->flags|=mp_imgflag&(MP_IMGFLAGMASK_RESTRICTIONS|MP_IMGFLAG_DRAW_CALLBACK|MP_IMGFLAG_RGB_PALETTE);
376 if(!vf->draw_slice) mpi->flags&=~MP_IMGFLAG_DRAW_CALLBACK;
377 if(mpi->width!=w2 || mpi->height!=h){
378 // printf("vf.c: MPI parameters changed! %dx%d -> %dx%d \n", mpi->width,mpi->height,w2,h);
379 if(mpi->flags&MP_IMGFLAG_ALLOCATED){
380 if(mpi->width<w2 || mpi->height<h){
382 av_free(mpi->planes[0]);
383 mpi->flags&=~MP_IMGFLAG_ALLOCATED;
388 mpi->width=w2; mpi->chroma_width=(w2 + (1<<mpi->chroma_x_shift) - 1)>>mpi->chroma_x_shift;
389 mpi->height=h; mpi->chroma_height=(h + (1<<mpi->chroma_y_shift) - 1)>>mpi->chroma_y_shift;
392 if(!mpi->bpp) ff_mp_image_setfmt(mpi,outfmt);
393 if(!(mpi->flags&MP_IMGFLAG_ALLOCATED) && mpi->type>MP_IMGTYPE_EXPORT){
397 if(vf->get_image) vf->get_image(vf,mpi);
399 if(!(mpi->flags&MP_IMGFLAG_DIRECT)){
401 if (!mpi->bpp) { // no way we can allocate this
409 int align=(mpi->flags&MP_IMGFLAG_PLANAR &&
410 mpi->flags&MP_IMGFLAG_YUV) ?
411 (8<<mpi->chroma_x_shift)-1 : 15; // -- maybe FIXME
413 if(mpi->width!=w2){
421 mpi->width=w2;
422 mpi->chroma_width=(w2 + (1<<mpi->chroma_x_shift) - 1)>>mpi->chroma_x_shift;
427 ff_mp_image_alloc_planes(mpi);
429 ff_vf_mpi_clear(mpi,0,0,mpi->width,mpi->height);
433 if(mpi->flags&MP_IMGFLAG_DRAW_CALLBACK)
434 if(vf->start_slice) vf->start_slice(vf,mpi);
435 if(!(mpi->flags&MP_IMGFLAG_TYPE_DISPLAYED)){
438 (mpi->type==MP_IMGTYPE_EXPORT)?"Exporting":
439 ((mpi->flags&MP_IMGFLAG_DIRECT)?"Direct Rendering":"Allocating"),
440 (mpi->flags&MP_IMGFLAG_DRAW_CALLBACK)?" (slices)":"",
441 mpi->width,mpi->height,mpi->bpp,
442 (mpi->flags&MP_IMGFLAG_YUV)?"YUV":((mpi->flags&MP_IMGFLAG_SWAPPED)?"BGR":"RGB"),
443 (mpi->flags&MP_IMGFLAG_PLANAR)?"planar":"packed",
444 mpi->bpp*mpi->width*mpi->height/8);
446 mpi->imgfmt, mpi->planes[0], mpi->planes[1], mpi->planes[2],
447 mpi->stride[0], mpi->stride[1], mpi->stride[2],
448 mpi->chroma_width, mpi->chroma_height, mpi->chroma_x_shift, mpi->chroma_y_shift);
449 mpi->flags|=MP_IMGFLAG_TYPE_DISPLAYED;
452 mpi->qscale = NULL;
453 mpi->usage_count++;
456 // mpi->planes[0],mpi->planes[1],mpi->planes[2],
457 // mpi->stride[0],mpi->stride[1],mpi->stride[2]);
458 return mpi;
461 int ff_vf_next_put_image(struct vf_instance *vf,mp_image_t *mpi, double pts){
474 picref->width = mpi->w;
475 picref->height = mpi->h;
479 for(i=0; conversion_map[i].fmt && mpi->imgfmt != conversion_map[i].fmt; i++);
483 if (mpi->imgfmt == conversion_map[i].fmt)
486 memcpy(picref->linesize, mpi->stride, FFMIN(sizeof(picref->linesize), sizeof(mpi->stride)));
488 for(i=0; i<4 && mpi->stride[i]; i++){
489 picref->data[i] = mpi->planes[i];
732 mp_image_t* mpi = ff_new_mp_image(inpic->width, inpic->height);
738 ff_mp_image_setfmt(mpi,conversion_map[i].fmt);
741 memcpy(mpi->planes, inpic->data, FFMIN(sizeof(inpic->data) , sizeof(mpi->planes)));
742 memcpy(mpi->stride, inpic->linesize, FFMIN(sizeof(inpic->linesize), sizeof(mpi->stride)));
745 mpi->fields |= MP_IMGFIELD_INTERLACED;
747 mpi->fields |= MP_IMGFIELD_TOP_FIRST;
749 mpi->fields |= MP_IMGFIELD_REPEAT_FIRST;
751 // mpi->flags|=MP_IMGFLAG_ALLOCATED; ?
752 mpi->flags |= MP_IMGFLAG_READABLE;
754 mpi->flags |= MP_IMGFLAG_PRESERVE;
755 if(m->vf.put_image(&m->vf, mpi, pts) == 0){
760 ff_free_mp_image(mpi);