History

Merge commit 'c5fca0174db9ed45be821177f49bd9633152704d'

* commit 'c5fca0174db9ed45be821177f49bd9633152704d': lavc: add a property for marking codecs that support frame reordering Conflicts: doc/APIchanges libavcodec/avcodec.h libavcodec/codec_desc.c libavcodec/version.h

Michael Niedermayer committed 12 years ago

Commit 2e5c8b02 parents 5003b8b c5fca014 files · +30 −17Browse files

Unified · Split

4 files
  1. doc/APIchanges +3 −0
  2. libavcodec/avcodec.h +10 −0
  3. libavcodec/codec_desc.c +16 −16
  4. libavcodec/version.h +1 −1
doc/APIchanges+3−0
@@ -15,6 +15,9 @@ libavutil: 2012-10-22 · 14 unmodified lines
15 15
16API changes, most recent first:16API changes, most recent first:
17 17
182014-xx-xx - xxxxxxx - lavc 55.57.0 - avcodec.h
19 Add AV_CODEC_PROP_REORDER to mark codecs supporting frame reordering.
20
182014-07-27 - XXXXXXX - lavc 55.70.100 - avdct.h212014-07-27 - XXXXXXX - lavc 55.70.100 - avdct.h
19 Add AVDCT / avcodec_dct_alloc() / avcodec_dct_init().22 Add AVDCT / avcodec_dct_alloc() / avcodec_dct_init().
20 23
libavcodec/avcodec.h+10−0
@@ -595,6 +595,16 @@ typedef struct AVCodecDescriptor { · 594 unmodified lines
595 * Codec supports lossless compression. Audio and video codecs only.595 * Codec supports lossless compression. Audio and video codecs only.
596 */596 */
597#define AV_CODEC_PROP_LOSSLESS (1 << 2)597#define AV_CODEC_PROP_LOSSLESS (1 << 2)
598/**
599 * Codec supports frame reordering. That is, the coded order (the order in which
600 * the encoded packets are output by the encoders / stored / input to the
601 * decoders) may be different from the presentation order of the corresponding
602 * frames.
603 *
604 * For codecs that do not have this property set, PTS and DTS should always be
605 * equal.
606 */
607#define AV_CODEC_PROP_REORDER (1 << 3)
598/**608/**
599 * Subtitle codec is bitmap based609 * Subtitle codec is bitmap based
600 * Decoded AVSubtitle data can be read from the AVSubtitleRect->pict field.610 * Decoded AVSubtitle data can be read from the AVSubtitleRect->pict field.
libavcodec/codec_desc.c+16−16
@@ -35,14 +35,14 @@ static const AVCodecDescriptor codec_descriptors[] = { · 34 unmodified lines
35 .type = AVMEDIA_TYPE_VIDEO,35 .type = AVMEDIA_TYPE_VIDEO,
36 .name = "mpeg1video",36 .name = "mpeg1video",
37 .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),37 .long_name = NULL_IF_CONFIG_SMALL("MPEG-1 video"),
38 .props = AV_CODEC_PROP_LOSSY,38 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
39 },39 },
40 {40 {
41 .id = AV_CODEC_ID_MPEG2VIDEO,41 .id = AV_CODEC_ID_MPEG2VIDEO,
42 .type = AVMEDIA_TYPE_VIDEO,42 .type = AVMEDIA_TYPE_VIDEO,
43 .name = "mpeg2video",43 .name = "mpeg2video",
44 .long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video"),44 .long_name = NULL_IF_CONFIG_SMALL("MPEG-2 video"),
45 .props = AV_CODEC_PROP_LOSSY,45 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
46 },46 },
47#if FF_API_XVMC47#if FF_API_XVMC
48 {48 {
@@ -65,7 +65,7 @@ static const AVCodecDescriptor codec_descriptors[] = { · 16 unmodified lines
65 .type = AVMEDIA_TYPE_VIDEO,65 .type = AVMEDIA_TYPE_VIDEO,
66 .name = "h263",66 .name = "h263",
67 .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2"),67 .long_name = NULL_IF_CONFIG_SMALL("H.263 / H.263-1996, H.263+ / H.263-1998 / H.263 version 2"),
68 .props = AV_CODEC_PROP_LOSSY,68 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
69 },69 },
70 {70 {
71 .id = AV_CODEC_ID_RV10,71 .id = AV_CODEC_ID_RV10,
@@ -79,7 +79,7 @@ static const AVCodecDescriptor codec_descriptors[] = { · 7 unmodified lines
79 .type = AVMEDIA_TYPE_VIDEO,79 .type = AVMEDIA_TYPE_VIDEO,
80 .name = "rv20",80 .name = "rv20",
81 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),81 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 2.0"),
82 .props = AV_CODEC_PROP_LOSSY,82 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
83 },83 },
84 {84 {
85 .id = AV_CODEC_ID_MJPEG,85 .id = AV_CODEC_ID_MJPEG,
@@ -101,7 +101,7 @@ static const AVCodecDescriptor codec_descriptors[] = { · 15 unmodified lines
101 .type = AVMEDIA_TYPE_VIDEO,101 .type = AVMEDIA_TYPE_VIDEO,
102 .name = "mpeg4",102 .name = "mpeg4",
103 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),103 .long_name = NULL_IF_CONFIG_SMALL("MPEG-4 part 2"),
104 .props = AV_CODEC_PROP_LOSSY,104 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
105 },105 },
106 {106 {
107 .id = AV_CODEC_ID_RAWVIDEO,107 .id = AV_CODEC_ID_RAWVIDEO,
@@ -150,14 +150,14 @@ static const AVCodecDescriptor codec_descriptors[] = { · 42 unmodified lines
150 .type = AVMEDIA_TYPE_VIDEO,150 .type = AVMEDIA_TYPE_VIDEO,
151 .name = "h263p",151 .name = "h263p",
152 .long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"),152 .long_name = NULL_IF_CONFIG_SMALL("H.263+ / H.263-1998 / H.263 version 2"),
153 .props = AV_CODEC_PROP_LOSSY,153 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
154 },154 },
155 {155 {
156 .id = AV_CODEC_ID_H263I,156 .id = AV_CODEC_ID_H263I,
157 .type = AVMEDIA_TYPE_VIDEO,157 .type = AVMEDIA_TYPE_VIDEO,
158 .name = "h263i",158 .name = "h263i",
159 .long_name = NULL_IF_CONFIG_SMALL("Intel H.263"),159 .long_name = NULL_IF_CONFIG_SMALL("Intel H.263"),
160 .props = AV_CODEC_PROP_LOSSY,160 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
161 },161 },
162 {162 {
163 .id = AV_CODEC_ID_FLV1,163 .id = AV_CODEC_ID_FLV1,
@@ -178,7 +178,7 @@ static const AVCodecDescriptor codec_descriptors[] = { · 14 unmodified lines
178 .type = AVMEDIA_TYPE_VIDEO,178 .type = AVMEDIA_TYPE_VIDEO,
179 .name = "svq3",179 .name = "svq3",
180 .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3"),180 .long_name = NULL_IF_CONFIG_SMALL("Sorenson Vector Quantizer 3 / Sorenson Video 3 / SVQ3"),
181 .props = AV_CODEC_PROP_LOSSY,181 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
182 },182 },
183 {183 {
184 .id = AV_CODEC_ID_DVVIDEO,184 .id = AV_CODEC_ID_DVVIDEO,
@@ -206,7 +206,7 @@ static const AVCodecDescriptor codec_descriptors[] = { · 21 unmodified lines
206 .type = AVMEDIA_TYPE_VIDEO,206 .type = AVMEDIA_TYPE_VIDEO,
207 .name = "h264",207 .name = "h264",
208 .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),208 .long_name = NULL_IF_CONFIG_SMALL("H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10"),
209 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,209 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_REORDER,
210 },210 },
211 {211 {
212 .id = AV_CODEC_ID_INDEO3,212 .id = AV_CODEC_ID_INDEO3,
@@ -458,28 +458,28 @@ static const AVCodecDescriptor codec_descriptors[] = { · 245 unmodified lines
458 .type = AVMEDIA_TYPE_VIDEO,458 .type = AVMEDIA_TYPE_VIDEO,
459 .name = "rv30",459 .name = "rv30",
460 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),460 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 3.0"),
461 .props = AV_CODEC_PROP_LOSSY,461 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
462 },462 },
463 {463 {
464 .id = AV_CODEC_ID_RV40,464 .id = AV_CODEC_ID_RV40,
465 .type = AVMEDIA_TYPE_VIDEO,465 .type = AVMEDIA_TYPE_VIDEO,
466 .name = "rv40",466 .name = "rv40",
467 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),467 .long_name = NULL_IF_CONFIG_SMALL("RealVideo 4.0"),
468 .props = AV_CODEC_PROP_LOSSY,468 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
469 },469 },
470 {470 {
471 .id = AV_CODEC_ID_VC1,471 .id = AV_CODEC_ID_VC1,
472 .type = AVMEDIA_TYPE_VIDEO,472 .type = AVMEDIA_TYPE_VIDEO,
473 .name = "vc1",473 .name = "vc1",
474 .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1"),474 .long_name = NULL_IF_CONFIG_SMALL("SMPTE VC-1"),
475 .props = AV_CODEC_PROP_LOSSY,475 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
476 },476 },
477 {477 {
478 .id = AV_CODEC_ID_WMV3,478 .id = AV_CODEC_ID_WMV3,
479 .type = AVMEDIA_TYPE_VIDEO,479 .type = AVMEDIA_TYPE_VIDEO,
480 .name = "wmv3",480 .name = "wmv3",
481 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9"),481 .long_name = NULL_IF_CONFIG_SMALL("Windows Media Video 9"),
482 .props = AV_CODEC_PROP_LOSSY,482 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
483 },483 },
484 {484 {
485 .id = AV_CODEC_ID_LOCO,485 .id = AV_CODEC_ID_LOCO,
@@ -592,7 +592,7 @@ static const AVCodecDescriptor codec_descriptors[] = { · 106 unmodified lines
592 .type = AVMEDIA_TYPE_VIDEO,592 .type = AVMEDIA_TYPE_VIDEO,
593 .name = "cavs",593 .name = "cavs",
594 .long_name = NULL_IF_CONFIG_SMALL("Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)"),594 .long_name = NULL_IF_CONFIG_SMALL("Chinese AVS (Audio Video Standard) (AVS1-P2, JiZhun profile)"),
595 .props = AV_CODEC_PROP_LOSSY,595 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
596 },596 },
597 {597 {
598 .id = AV_CODEC_ID_JPEG2000,598 .id = AV_CODEC_ID_JPEG2000,
@@ -741,7 +741,7 @@ static const AVCodecDescriptor codec_descriptors[] = { · 142 unmodified lines
741 .type = AVMEDIA_TYPE_VIDEO,741 .type = AVMEDIA_TYPE_VIDEO,
742 .name = "dirac",742 .name = "dirac",
743 .long_name = NULL_IF_CONFIG_SMALL("Dirac"),743 .long_name = NULL_IF_CONFIG_SMALL("Dirac"),
744 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS,744 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_LOSSLESS | AV_CODEC_PROP_REORDER,
745 },745 },
746 {746 {
747 .id = AV_CODEC_ID_BFI,747 .id = AV_CODEC_ID_BFI,
@@ -1201,7 +1201,7 @@ static const AVCodecDescriptor codec_descriptors[] = { · 453 unmodified lines
1201 .type = AVMEDIA_TYPE_VIDEO,1201 .type = AVMEDIA_TYPE_VIDEO,
1202 .name = "hevc",1202 .name = "hevc",
1203 .long_name = NULL_IF_CONFIG_SMALL("H.265 / HEVC (High Efficiency Video Coding)"),1203 .long_name = NULL_IF_CONFIG_SMALL("H.265 / HEVC (High Efficiency Video Coding)"),
1204 .props = AV_CODEC_PROP_LOSSY,1204 .props = AV_CODEC_PROP_LOSSY | AV_CODEC_PROP_REORDER,
1205 },1205 },
1206 {1206 {
1207 .id = AV_CODEC_ID_FIC,1207 .id = AV_CODEC_ID_FIC,
libavcodec/version.h+1−1
@@ -29,7 +29,7 @@ · 28 unmodified lines
29#include "libavutil/version.h"29#include "libavutil/version.h"
30 30
31#define LIBAVCODEC_VERSION_MAJOR 5531#define LIBAVCODEC_VERSION_MAJOR 55
32#define LIBAVCODEC_VERSION_MINOR 7032#define LIBAVCODEC_VERSION_MINOR 71
33#define LIBAVCODEC_VERSION_MICRO 10033#define LIBAVCODEC_VERSION_MICRO 100
34 34
35#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \35#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t