[FFmpeg-devel] [PATCH] Implement PAFF in H.264
Jeff Downs
heydowns
Mon Sep 24 23:43:05 CEST 2007
On Mon, 24 Sep 2007, Michael Niedermayer wrote:
> Hi
>
> On Thu, Sep 20, 2007 at 03:04:50PM -0400, Jeff Downs wrote:
> > On Wed, 19 Sep 2007, Michael Niedermayer wrote:
> >
> >> just a quick review below, ill wait with a full review until there are
> >> clean and well split patches ...
> >
> > Thanks. I knew it had to be split and I'm happy to be receiving guidance
> > as to where.
> >
> > I've attached 3 patches, which are intended to be examined/applied in
> > order:
> [...]
> >>
> >> [...]
> >>
> >>> + /*
> >>> + * FIXME: Error handling code does not seem to support
> >>> interlaced
> >>> + * when slices span multiple rows
> >>> + */
> >>> + if (!FIELD_PICTURE)
> >>> ff_er_frame_end(s);
> >>
> >> why doesnt this work?
> >
> > The error concealer doesn't seem to have any notion of being able to skip
> > rows, both when marking errors and doing the concealing calculations. Calls
>
> skipping rows should be a matter of setting *stride correctly / storing
> things with the stride which is stored in the context
Agree. I'll look at going that route.
> > to ff_er_add_slice end result in error_count going through the roof for
> > perfectly ok frames. The frame_end call then falsely corrects the errors.
> > It was easiest and arguably more efficient to abort the frame_end call
> > instead of all the different add_slice calls.
> >
> > I would be willing to work to fix this after we get through this already
> > behemoth patch, at which time this could be removed.
>
> ok
Thanks.
> reference was intended to keep track
> of which fields are still needed as reference fields/frames, here 3 means
> both that is 1|2
> any code doing something else with it is wrong and has to be changed
> duplicating it just because the code using it is buggy is absolutely not
> ok
Understand and agree. Are you then proposing that I table the PAFF
implementation pending a (separate) patch to fix this? I want to get the
desired order right here...
> > I'm open to suggestions on changing this if needed; if the replacement
> > doesn't have it taking on values of PICT_XXX, then it could be a
> > substantial rework.
>
> reference was intended to have the same values as PICT_XXX, i as well see
> that something went wrong with h264.c in that respect though ...
>
> maybe changing the current 1/"keep it around because I need to display it"
> to 4 to would solve the problem?
Sure. Will look at common code in mpegvideo.c to see if that causes issues
there.
> Content-Description: Cosmetics patch
> [...]
> > @@ -622,9 +623,9 @@
> > int mpeg_f_code[2][2];
> > int picture_structure;
> > /* picture type */
> > -#define PICT_TOP_FIELD 1
> > -#define PICT_BOTTOM_FIELD 2
> > -#define PICT_FRAME 3
> > +#define PICT_TOP_FIELD 0x1
> > +#define PICT_BOTTOM_FIELD 0x2
> > +#define PICT_FRAME (PICT_TOP_FIELD | PICT_BOTTOM_FIELD)
>
> iam against this hunk it doesnt do any good, the rest of patch 1 is
> ok though
That's fine -- I put that there only to stress the relationship of the
three is important and not just arbitrary number choices. I will remove.
Please hold to apply - I have a slightly modified version I was about to
post when your review came through which reflects the threads of
discussion with Martin Z. re pic_num/pic_id.
> [...]
>
> Content-Description: MMCO variable rename patch
>
> ok
Again, please hold application pending an additional documentation item
for MMCO->short_pic_num, posted shortly in updated patch.
> Content-Description: Substance of PAFF implementation
> [...]
>
> ill review this soon
Likewise, please hold off for a short time while I post a new version
reflecting some of Martin Z.'s contributions.
-Jeff
More information about the ffmpeg-devel
mailing list