请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站
开启辅助访问
切换到宽版

ChinaFFmpeg

 找回密码
 立即注册

QQ登录

只需一步,快速开始

用新浪微博登录

只需一步,快速搞定

搜索
热搜: 活动 交友 discuz
查看: 45|回复: 2

[Android] YUYV转码并放大

[复制链接]
扫一扫,手机访问本帖
发表于 2018-2-8 11:35:07 | 显示全部楼层 |阅读模式
avPacket->data = ImageFrame;
avPacket->size = FrameSize;
avcodec_send_packet(ctx, avPacket);
ret = avcodec_receive_frame(ctx, pFrameYUV);
ret = sws_scale(swscontex,(const uint8_t *const *) pFrameYUV->data,pFrameYUV->linesize,0,camera_height, pFrame->data,pFrame->linesize);调用上面的代码解码并转码放大,通过surefaceview显示,当surfaceview是640x480或者1600x1200都可以正常显示,但是其它分辨率比如手机屏幕的分辨率,就会出现很有规律的条纹,完全看不到图像,是怎么回事
回复

使用道具 举报

发表于 2018-2-8 14:23:43 | 显示全部楼层
[AppleScript] 纯文本查看 复制代码
479             ost->sws_ctx = sws_getContext(c->width, c->height,
480                                           AV_PIX_FMT_YUV420P,
481                                           c->width, c->height,
482                                           c->pix_fmt,
483                                           SCALE_FLAGS, NULL, NULL, NULL);
484             if (!ost->sws_ctx) {
485                 fprintf(stderr,
486                         "Could not initialize the conversion context\n");
487                 exit(1);
488             }
489         }
490         fill_yuv_image(ost->tmp_frame, ost->next_pts, c->width, c->height);
491         sws_scale(ost->sws_ctx, (const uint8_t * const *) ost->tmp_frame->data,
492                   ost->tmp_frame->linesize, 0, c->height, ost->frame->data,
493                   ost->frame->linesize);
回复 支持 反对

使用道具 举报

发表于 2018-2-8 14:24:48 | 显示全部楼层
或者用滤镜 zoompan实现放大
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|Archiver|ChinaFFmpeg    

GMT+8, 2018-2-23 16:40 , Processed in 0.029303 second(s), 21 queries .

Powered by ChinaFFmpeg

© 2013 www.chinaffmpeg.com

快速回复 返回顶部 返回列表