Commit c2d2e2bb authored by Alexis Ballier's avatar Alexis Ballier Committed by Rémi Denis-Courmont

v4l: attempt to fix strict aliasing warnings.

Signed-off-by: default avatarRémi Denis-Courmont <remi@remlab.net>
parent 1fb78f47
...@@ -837,7 +837,7 @@ static int OpenVideoDev( demux_t *p_demux, char *psz_device ) ...@@ -837,7 +837,7 @@ static int OpenVideoDev( demux_t *p_demux, char *psz_device )
* or height */ * or height */
if( p_sys->b_mjpeg ) if( p_sys->b_mjpeg )
{ {
struct quicktime_mjpeg_app1 *p_app1; struct quicktime_mjpeg_app1 p_app1;
int32_t i_offset; int32_t i_offset;
if( ioctl( i_fd, MJPIOC_G_PARAMS, &mjpeg ) < 0 ) if( ioctl( i_fd, MJPIOC_G_PARAMS, &mjpeg ) < 0 )
...@@ -859,12 +859,11 @@ static int OpenVideoDev( demux_t *p_demux, char *psz_device ) ...@@ -859,12 +859,11 @@ static int OpenVideoDev( demux_t *p_demux, char *psz_device )
mjpeg.APP_len = 40; mjpeg.APP_len = 40;
/* aligned */ /* aligned */
p_app1 = (struct quicktime_mjpeg_app1 *)mjpeg.APP_data; p_app1.i_reserved = 0;
p_app1->i_reserved = 0; p_app1.i_tag = VLC_FOURCC( 'm','j','p','g' );
p_app1->i_tag = VLC_FOURCC( 'm','j','p','g' ); p_app1.i_field_size = 0;
p_app1->i_field_size = 0; p_app1.i_padded_field_size = 0;
p_app1->i_padded_field_size = 0; p_app1.i_next_field = 0;
p_app1->i_next_field = 0;
/* XXX WARNING XXX */ /* XXX WARNING XXX */
/* these's nothing magic about these values. We are dangerously /* these's nothing magic about these values. We are dangerously
* assuming the encoder card is encoding mjpeg-a and is not throwing * assuming the encoder card is encoding mjpeg-a and is not throwing
...@@ -876,15 +875,16 @@ static int OpenVideoDev( demux_t *p_demux, char *psz_device ) ...@@ -876,15 +875,16 @@ static int OpenVideoDev( demux_t *p_demux, char *psz_device )
* does conform to standards outside of Apple Quicktime. * does conform to standards outside of Apple Quicktime.
*/ */
i_offset = 0x2e; i_offset = 0x2e;
p_app1->i_DQT_offset = hton32( i_offset ); p_app1.i_DQT_offset = hton32( i_offset );
i_offset = 0xb4; i_offset = 0xb4;
p_app1->i_DHT_offset = hton32( i_offset ); p_app1.i_DHT_offset = hton32( i_offset );
i_offset = 0x258; i_offset = 0x258;
p_app1->i_SOF_offset = hton32( i_offset ); p_app1.i_SOF_offset = hton32( i_offset );
i_offset = 0x26b; i_offset = 0x26b;
p_app1->i_SOS_offset = hton32( i_offset ); p_app1.i_SOS_offset = hton32( i_offset );
i_offset = 0x279; i_offset = 0x279;
p_app1->i_data_offset = hton32( i_offset ); p_app1.i_data_offset = hton32( i_offset );
memcpy(mjpeg.APP_data, &p_app1, sizeof(struct quicktime_mjpeg_app1));
/* SOF and SOS aren't specified by the mjpeg API because they aren't /* SOF and SOS aren't specified by the mjpeg API because they aren't
* optional. They will be present in the output. */ * optional. They will be present in the output. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment