[vlc-commits] packetizer: h264: set multiview

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


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Wed Jul 26 21:42:06 2017 +0200| [adec0c3850f8342bf42baca5c0dd20df13232045] | committer: Francois Cartegnie

packetizer: h264: set multiview

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

 modules/packetizer/h264.c | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)

diff --git a/modules/packetizer/h264.c b/modules/packetizer/h264.c
index 0ed0de91d4..f219253e07 100644
--- a/modules/packetizer/h264.c
+++ b/modules/packetizer/h264.c
@@ -1101,6 +1101,33 @@ static bool ParseSeiCallback( const hxxx_sei_data_t *p_sei_data, void *cbdata )
             }
         } 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;
+
             /* Look for SEI recovery point */
         case HXXX_SEI_RECOVERY_POINT:
         {



More information about the vlc-commits mailing list