toq...@gmail.com: > From: Wu Jianhua <toq...@outlook.com> > > Signed-off-by: Wu Jianhua <toq...@outlook.com> > --- > libavcodec/cbs_h2645.c | 6 ++++++ > libavcodec/cbs_sei.h | 7 +++++++ > libavcodec/cbs_sei_syntax_template.c | 18 ++++++++++++++++++ > 3 files changed, 31 insertions(+) > > diff --git a/libavcodec/cbs_h2645.c b/libavcodec/cbs_h2645.c > index 768181874c..c868770209 100644 > --- a/libavcodec/cbs_h2645.c > +++ b/libavcodec/cbs_h2645.c > @@ -2193,6 +2193,12 @@ static const SEIMessageTypeDescriptor > cbs_sei_common_types[] = { > sizeof(SEIRawFilmGrainCharacteristics), > SEI_MESSAGE_RW(sei, film_grain_characteristics), > }, > + { > + SEI_TYPE_DISPLAY_ORIENTATION, > + 1, 0, > + sizeof(SEIRawDisplayOrientation), > + SEI_MESSAGE_RW(sei, display_orientation) > + }, > SEI_MESSAGE_TYPE_END, > }; > > diff --git a/libavcodec/cbs_sei.h b/libavcodec/cbs_sei.h > index a0fb004ecd..7be12e33e0 100644 > --- a/libavcodec/cbs_sei.h > +++ b/libavcodec/cbs_sei.h > @@ -118,6 +118,13 @@ typedef struct SEIRawFilmGrainCharacteristics { > uint8_t fg_characteristics_persistence_flag; > } SEIRawFilmGrainCharacteristics; > > +typedef struct SEIRawDisplayOrientation { > + uint8_t display_orientation_cancel_flag; > + uint8_t display_orientation_persistence_flag; > + uint8_t display_orientation_transform_type; > + uint8_t display_orientation_reserved_zero_3bits; > +} SEIRawDisplayOrientation; > + > typedef struct SEIRawMessage { > uint32_t payload_type; > uint32_t payload_size; > diff --git a/libavcodec/cbs_sei_syntax_template.c > b/libavcodec/cbs_sei_syntax_template.c > index b105299cd9..fb19f6ee42 100644 > --- a/libavcodec/cbs_sei_syntax_template.c > +++ b/libavcodec/cbs_sei_syntax_template.c > @@ -277,6 +277,24 @@ SEI_FUNC(film_grain_characteristics, > return 0; > } > > +SEI_FUNC(display_orientation, (CodedBitstreamContext *ctx, RWContext *rw, > + SEIRawDisplayOrientation *current, > + SEIMessageState *state)) > +{ > + int err; > + > + HEADER("Display Orientation"); > + > + flag(display_orientation_cancel_flag); > + if (!current->display_orientation_cancel_flag) { > + flag(display_orientation_persistence_flag); > + u(3, display_orientation_transform_type, 0, 7); > + ub(3, display_orientation_reserved_zero_3bits); > + } > + > + return 0; > +} > + > static int FUNC(message)(CodedBitstreamContext *ctx, RWContext *rw, > SEIRawMessage *current) > {
You add this to the list of common SEI messages, yet how common is it really? H.264 and HEVC use different structures (with different parsing). - Andreas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".