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

Michael Niedermayer git at videolan.org
Sun Nov 13 01:30:26 CET 2011


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sat Nov 12 21:10:15 2011 +0100| [545ec935a4b4e0f032ebd975907b41f6fe4465c9] | committer: Michael Niedermayer

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>

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

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

diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 77db8ef..3ec8b85 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2946,11 +2946,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->f.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