[FFmpeg-devel] [PATCH] Fix roq encoding
Vitor Sessak
vitor1001
Tue Jul 22 23:49:11 CEST 2008
Michael Niedermayer wrote:
> On Sat, Jul 19, 2008 at 04:25:17AM +0200, Vitor Sessak wrote:
>> Michael Niedermayer wrote:
>>> On Sat, Jul 19, 2008 at 12:23:28AM +0200, Vitor Sessak wrote:
>>>> Hi,
>>>>
>>>> The following patch fix the issue 548. Not that I fully understand why
>>>> before it was ok not to set avctx->coded_frame and now it crashes...
>>>>
>>>> -Vitor
>>>>
>>>> PS: nice to know there is someone who used this encoder...
>>>> Index: libavcodec/roqvideoenc.c
>>>> ===================================================================
>>>> --- libavcodec/roqvideoenc.c (revision 14271)
>>>> +++ libavcodec/roqvideoenc.c (working copy)
>>>> @@ -1037,6 +1037,8 @@
>>>> /* Encode the actual frame */
>>>> roq_encode_video(enc);
>>>> + avctx->coded_frame = enc->last_frame;
>>> I think it should be set to current_frame before the pointers
>>> are swapped, that would be cleaner
>> I agree, like the attached patch?
>
> yes, patch ok
Mike has just added a testcase for RoQ encoding in FATE and it shows
that roq encoding segfaults on ICC. While trying to fix it I found a few
bugs in the codebook generator that exists also in gcc:
fixroq1.diff: The algorithm involves picking three different codebook
centroids ("high utility", "low utility" and "closest to the low utility
one"). This enforces that they are really different.
fixroq2.diff: When picking a "high utility centroid" do not pick one
that has no corresponding points. Not only it is the worse possible
pick, but also I wrote my code without considering this case.
fixroq3.diff: Workaround an ICC bug.
-Vitor
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixroq1.diff
Type: text/x-patch
Size: 574 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080722/9a9a17e4/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixroq2.diff
Type: text/x-patch
Size: 551 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080722/9a9a17e4/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixroq3.diff
Type: text/x-patch
Size: 635 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080722/9a9a17e4/attachment-0002.bin>
More information about the ffmpeg-devel
mailing list