[Ffmpeg-devel] [PATCH] fix error croping
Baptiste Coudurier
baptiste.coudurier
Tue Apr 3 13:11:21 CEST 2007
Limin Wang wrote:
> Hi,
>
>>> Hi,
>>>
>>>>> $subj, please review it. If your input yuv is 422 packet format, then
>>>>> you'll failed to crop.
>> [...]
>>> Index: ffmpeg.c
>>> ===================================================================
>>> --- ffmpeg.c (revision 8565)
>>> +++ ffmpeg.c (working copy)
>>> @@ -715,7 +715,7 @@
>>> return;
>>>
>>> if (ost->video_crop) {
>>> - if (av_picture_crop((AVPicture *)&picture_crop_temp, (AVPicture
>>> *)in_picture, dec->pix_fmt, ost->topBand, ost->leftBand) < 0) {
>>> + if (av_picture_crop((AVPicture *)&picture_crop_temp, (AVPicture
>>> *)in_picture, enc->pix_fmt, ost->topBand, ost->leftBand) < 0) {
>> I do not think this is ok... At this point, the image is still in the
>> decoder pixel format. Telling av_picture_crop() that it is in a
>> different format might lead to a wrong result.
>
>> I think the correct solution is to implement support for the desired
>> pixel format in av_picture_crop().
>
> So the next picture pading should use enc->pix_fmt instead of dec->pix_fmt?
Check input picture and his pixel format, and it's right atm.
> For padding is OK and I check it uses enc->pix_fmt, based on this I try with
> enc->pix_fmt for crop, and the fact is the crop test result is OK.
crop test cannot be ok, if you supply packed input you'll get this:
"error cropping picture"
> So maybe other place has bug, by my understanding after decode, the pix_fmt
> should be yuv420 instead of yuv422 packed format still. My input is yuv422
> packed format and output is h264.
pix_fmt after decode is dependent of the compressed pixel format.
What is your source ?
Are you sure it is 422 'packed' ? and not 'yuv422p' which means instead
means 4:2:2 planar.
--
Baptiste COUDURIER GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A. http://www.smartjog.com
Key fingerprint 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312
More information about the ffmpeg-devel
mailing list