[vlc-commits] packetizer: hevc: set multiview

Francois Cartegnie git at videolan.org
Thu Jul 27 00:03:31 CEST 2017


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Wed Jul 26 22:08:36 2017 +0200| [01bc08f9540a4daaa37a03573914d9ad94111b87] | committer: Francois Cartegnie

packetizer: hevc: set multiview

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=01bc08f9540a4daaa37a03573914d9ad94111b87
---

 modules/packetizer/hevc.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/modules/packetizer/hevc.c b/modules/packetizer/hevc.c
index 3f7a36f771..73e8bc6886 100644
--- a/modules/packetizer/hevc.c
+++ b/modules/packetizer/hevc.c
@@ -856,6 +856,32 @@ static bool ParseSEICallback( const hxxx_sei_data_t *p_sei_data, void *cbdata )
                                                        p_sei_data->itu_t35.u.cc.i_data );
             }
         } break;
+        case HXXX_SEI_FRAME_PACKING_ARRANGEMENT:
+        {
+            if( p_dec->fmt_in.video.multiview_mode == MULTIVIEW_2D )
+            {
+                video_multiview_mode_t mode;
+                switch( p_sei_data->frame_packing.type )
+                {
+                    case FRAME_PACKING_INTERLEAVED_CHECKERBOARD:
+                        mode = MULTIVIEW_STEREO_CHECKERBOARD; break;
+                    case FRAME_PACKING_INTERLEAVED_COLUMN:
+                        mode = MULTIVIEW_STEREO_COL; break;
+                    case FRAME_PACKING_INTERLEAVED_ROW:
+                        mode = MULTIVIEW_STEREO_ROW; break;
+                    case FRAME_PACKING_SIDE_BY_SIDE:
+                        mode = MULTIVIEW_STEREO_SBS; break;
+                    case FRAME_PACKING_TOP_BOTTOM:
+                        mode = MULTIVIEW_STEREO_TB; break;
+                    case FRAME_PACKING_TEMPORAL:
+                        mode = MULTIVIEW_STEREO_FRAME; break;
+                    case FRAME_PACKING_TILED:
+                    default:
+                        mode = MULTIVIEW_2D; break;
+                }
+                p_dec->fmt_out.video.multiview_mode = mode;
+            }
+        } break;
         case HXXX_SEI_MASTERING_DISPLAY_COLOUR_VOLUME:
         {
             video_format_t *p_fmt = &p_dec->fmt_out.video;



More information about the vlc-commits mailing list