[FFmpeg-devel] [PATCH] Implement PAFF in H.264

Michael Niedermayer michaelni
Fri Jul 25 03:57:33 CEST 2008


On Thu, Sep 20, 2007 at 03:04:50PM -0400, Jeff Downs wrote:
> On Wed, 19 Sep 2007, Michael Niedermayer wrote:
[...]
>          case MMCO_LONG:
> -            pic= remove_long(h, mmco[i].long_arg);
> -            if(pic) unreference_pic(h, pic);
> +            j = 1;
> +            if (FIELD_PICTURE && !s->first_field) {
> +                if (h->long_ref[mmco[i].long_arg] == s->current_picture_ptr) {
> +                    /* Just mark second field as referenced */
> +                    j = 0;
> +                } else if (s->current_picture_ptr->valid_structure) {
> +                    /* First field in pair in short term list.
> +                     * This is not allowed; see 7.4.3, notes 2 and 3.
> +                     */
> +                    av_log(h->s.avctx, AV_LOG_ERROR,
> +                        "illegal long term reference assignment for second "
> +                        "field in complementary field pair (first field is "
> +                        "short term)\n");
> +                    j = 0;
[...]
> -    if(!current_is_long){
> -        pic= remove_short(h, s->current_picture_ptr->frame_num);
> +    if (!current_ref_assigned && FIELD_PICTURE &&
> +            !s->first_field && s->current_picture_ptr->valid_structure) {
> +
> +        /* Second field of complementary field pair; the first field of
> +         * which is already referenced. If short referenced, it
> +         * should be first entry in short_ref. If not, it must exist
> +         * in long_ref; trying to put it on the short list here is an
> +         * error in the encoded bit stream (ref: 7.4.3, NOTE 2 and 3).
> +         * If on neither list, we have a logic problem elsewhere
> +         */

the notes 2 & 3 in 7.4.3 do not say anything that would support that view.
the notes 2 & 3 in 7.4.3.3 could be bent toward this given the assumtation
that the stream does not contain non paired reference fields.
What made you think such fields do not occur? No i dont have a stream that
i know contains such things.
iam just curious if theres something in the spec that supports this
view.

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Breaking DRM is a little like attempting to break through a door even
though the window is wide open and the only thing in the house is a bunch
of things you dont want and which you would get tomorrow for free anyway
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080725/664421cb/attachment.pgp>



More information about the ffmpeg-devel mailing list