<div dir="ltr"><div>This is part of output file converted by ffmeg:<br><img alt="内嵌图片 1" src="cid:ii_1549f33dbae46177" height="419" width="471"><br></div>I can just recognize the profile of orignial image from this image, but very fuzzy...<br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-05-11 17:43 GMT+08:00 Hao Yang <span dir="ltr"><<a href="mailto:hao@multicorewareinc.com" target="_blank">hao@multicorewareinc.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This is part of original file:<br><img alt="内嵌图片 1" src="cid:ii_1549f32fd88b60ba" height="283" width="446"><br></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2016-05-11 17:03 GMT+08:00 Paul B Mahol <span dir="ltr"><<a href="mailto:onemda@gmail.com" target="_blank">onemda@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On 5/11/16, Hao Yang <<a href="mailto:hao@multicorewareinc.com" target="_blank">hao@multicorewareinc.com</a>> wrote:<br>
> I want to use ffmpeg to convert image from RGB48 into YUV422, then generate<br>
> mp4 file finally.<br>
><br>
> But I found that conversion result shows the color of YUV422 image is not<br>
> same as RGB48. I also tried to convert image from RGB24 (just convert from<br>
<br>
</span>If its not same, what is it?<br>
<div><div><br>
> RGB48) into YUV422, no issue found.<br>
><br>
><br>
> Do anyone know is this the bug in ffmpeg for such conversion or some<br>
> mistake in my code?<br>
><br>
> Thanks so much in advance!!<br>
><br>
><br>
><br>
> The following code is from my project and used to conversion:<br>
><br>
><br>
> void conversion()<br>
><br>
> {<br>
><br>
> //xxxxxxxx;<br>
><br>
><br>
><br>
> rgb_pixel_format = AV_PIX_FMT_RGB48BE;<br>
><br>
> pCodecCtx->pix_fmt = yuv_pixel_format = AV_PIX_FMT_YUV422P;<br>
><br>
> scale_flag = SWS_POINT;<br>
><br>
><br>
><br>
> //xxxxxxxx;<br>
><br>
><br>
><br>
>     size = avpicture_get_size(pCodecCtx->pix_fmt, pCodecCtx->width,<br>
> pCodecCtx->height);<br>
><br>
>     yuv_buff = (unsigned char*)av_malloc(size);<br>
><br>
><br>
><br>
>     pSwsCtx=<br>
> sws_getContext(pCodecCtx->width,pCodecCtx->height,rgb_pixel_format,<br>
><br>
><br>
> pCodecCtx->width,pCodecCtx->height,yuv_pixel_format,scale_flag,NULL,NULL,NULL);<br>
><br>
><br>
><br>
><br>
><br>
><br>
>     for (file_index = 0; file_index < image_num; file_index ++)<br>
><br>
>     {<br>
><br>
>         rgb_buff = (unsigned char*)av_malloc(image_data->length);<br>
><br>
>         memcpy(rgb_buff, image_data->data, image_data->length);<br>
><br>
><br>
><br>
>         avpicture_fill((AVPicture*)pRGBFrame, (unsigned char*)rgb_buff,<br>
> rgb_pixel_format, nWidth, nHeight);<br>
><br>
><br>
><br>
>         avpicture_fill((AVPicture*)pFrame, (unsigned char*)yuv_buff,<br>
> yuv_pixel_format, nWidth, nHeight);<br>
><br>
><br>
><br>
>         //rotate RGB image<br>
><br>
>         pRGBFrame->data[0]  += pRGBFrame->linesize[0] * (nHeight - 1);<br>
><br>
>         pRGBFrame->linesize[0] *= -1;<br>
><br>
>         pRGBFrame->data[1]  += pRGBFrame->linesize[1] * (nHeight / 2 - 1);<br>
><br>
><br>
>         pRGBFrame->linesize[1] *= -1;<br>
><br>
>         pRGBFrame->data[2]  += pRGBFrame->linesize[2] * (nHeight / 2 - 1);<br>
><br>
><br>
>         pRGBFrame->linesize[2] *= -1;<br>
><br>
><br>
><br>
>         //covert RGB into YUV<br>
><br>
><br>
> sws_scale(pSwsCtx,pRGBFrame->data,pRGBFrame->linesize,0,pCodecCtx->height,pFrame->data,pFrame->linesize);<br>
><br>
><br>
>             yuv_file = fopen(yuv_rst_file[file_index], "wb");<br>
><br>
><br>
><br>
>             fseek(yuv_file, 0L, SEEK_END);<br>
><br>
>             rewind(yuv_file);<br>
><br>
><br>
> fwrite(pFrame->data[0],(pCodecCtx->width)*(pCodecCtx->height),1,yuv_file);<br>
><br>
><br>
><br>
> fwrite(pFrame->data[1],(pCodecCtx->width)*(pCodecCtx->height)/2,1,yuv_file);<br>
><br>
><br>
><br>
> fwrite(pFrame->data[2],(pCodecCtx->width)*(pCodecCtx->height)/2,1,yuv_file);<br>
><br>
><br>
>             fclose(yuv_file);<br>
><br>
>         }<br>
><br>
> }<br>
><br>
</div></div>_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org" target="_blank">Libav-user@ffmpeg.org</a><br>
<a href="http://ffmpeg.org/mailman/listinfo/libav-user" rel="noreferrer" target="_blank">http://ffmpeg.org/mailman/listinfo/libav-user</a><br>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>