summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-08-03 10:48:11 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-08-03 10:48:11 +0200
commit82fdfe8e51c593b484fd590368f2d70ef39f2bf8 (patch)
treeff95c2e7a87ca4929a8471e30765b8c7724faea6 /libavcodec
parent1607a985455287ccae3bfa46393a6cdfc04ce64f (diff)
parenta8b19271c3b40ac3c3dc769fe248887acf14ba5a (diff)
Merge commit 'a8b19271c3b40ac3c3dc769fe248887acf14ba5a'
* commit 'a8b19271c3b40ac3c3dc769fe248887acf14ba5a': avcodec: Add output_picture_number to AVCodecParserContext Conflicts: doc/APIchanges libavcodec/version.h Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/avcodec.h8
-rw-r--r--libavcodec/h264.c3
-rw-r--r--libavcodec/h264_parser.c2
-rw-r--r--libavcodec/version.h2
4 files changed, 11 insertions, 4 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index 17c48ddde1..ae6625f5b9 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -3960,6 +3960,14 @@ typedef struct AVCodecParserContext {
* AV_PICTURE_STRUCTURE_TOP_FIELD.
*/
enum AVPictureStructure picture_structure;
+
+ /**
+ * Picture number incremented in presentation or output order.
+ * This field may be reinitialized at the first picture of a new sequence.
+ *
+ * For example, this corresponds to H.264 PicOrderCnt.
+ */
+ int output_picture_number;
} AVCodecParserContext;
typedef struct AVCodecParser {
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 2cb98df1f9..c08720876b 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -2768,8 +2768,7 @@ int ff_init_poc(H264Context *h, int pic_field_poc[2], int *pic_poc)
pic_field_poc[0] = field_poc[0];
if (h->picture_structure != PICT_TOP_FIELD)
pic_field_poc[1] = field_poc[1];
- if (pic_poc)
- *pic_poc = FFMIN(pic_field_poc[0], pic_field_poc[1]);
+ *pic_poc = FFMIN(pic_field_poc[0], pic_field_poc[1]);
return 0;
}
diff --git a/libavcodec/h264_parser.c b/libavcodec/h264_parser.c
index db5adf723e..f6bd1b6c06 100644
--- a/libavcodec/h264_parser.c
+++ b/libavcodec/h264_parser.c
@@ -288,7 +288,7 @@ static inline int parse_nal_units(AVCodecParserContext *s,
h->delta_poc[1] = get_se_golomb(&h->gb);
}
- ff_init_poc(h, field_poc, NULL);
+ ff_init_poc(h, field_poc, &s->output_picture_number);
if (h->sps.pic_struct_present_flag) {
switch (h->sei_pic_struct) {
diff --git a/libavcodec/version.h b/libavcodec/version.h
index 06777bf3a0..38c7029ebf 100644
--- a/libavcodec/version.h
+++ b/libavcodec/version.h
@@ -29,7 +29,7 @@
#include "libavutil/avutil.h"
#define LIBAVCODEC_VERSION_MAJOR 55
-#define LIBAVCODEC_VERSION_MINOR 19
+#define LIBAVCODEC_VERSION_MINOR 20
#define LIBAVCODEC_VERSION_MICRO 100
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \