[FFmpeg-cvslog] h264: Use mismatching frame numbers in fields

Michael Niedermayer git at videolan.org
Sun Dec 25 20:09:44 CET 2011


ffmpeg | branch: release/0.7 | Michael Niedermayer <michaelni at gmx.at> | Sat Nov 12 21:10:15 2011 +0100| [1550c0885db601fadc1190b14cb40e870787e150] | committer: Carl Eugen Hoyos

h264: Use mismatching frame numbers in fields

to synchronize the first/second field state independant of them being reference or not.
Fixes Ticket354

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
(cherry picked from commit 545ec935a4b4e0f032ebd975907b41f6fe4465c9)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1550c0885db601fadc1190b14cb40e870787e150
---

 libavcodec/h264.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index fd33aef..c93c0ec 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2810,11 +2810,9 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
                 s0->first_field = FIELD_PICTURE;
 
             } else {
-                if (h->nal_ref_idc &&
-                        s0->current_picture_ptr->reference &&
-                        s0->current_picture_ptr->frame_num != h->frame_num) {
+                if (s0->current_picture_ptr->frame_num != h->frame_num) {
                     /*
-                     * This and previous field were reference, but had
+                     * This and previous field had
                      * different frame_nums. Consider this field first in
                      * pair. Throw away previous field except for reference
                      * purposes.



More information about the ffmpeg-cvslog mailing list