mirror of
https://code.videolan.org/videolan/vlc
synced 2024-09-04 09:11:33 +02:00
v4l: attempt to fix strict aliasing warnings.
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
This commit is contained in:
parent
1fb78f4783
commit
c2d2e2bb4d
@ -837,7 +837,7 @@ static int OpenVideoDev( demux_t *p_demux, char *psz_device )
|
||||
* or height */
|
||||
if( p_sys->b_mjpeg )
|
||||
{
|
||||
struct quicktime_mjpeg_app1 *p_app1;
|
||||
struct quicktime_mjpeg_app1 p_app1;
|
||||
int32_t i_offset;
|
||||
|
||||
if( ioctl( i_fd, MJPIOC_G_PARAMS, &mjpeg ) < 0 )
|
||||
@ -859,12 +859,11 @@ static int OpenVideoDev( demux_t *p_demux, char *psz_device )
|
||||
mjpeg.APP_len = 40;
|
||||
|
||||
/* aligned */
|
||||
p_app1 = (struct quicktime_mjpeg_app1 *)mjpeg.APP_data;
|
||||
p_app1->i_reserved = 0;
|
||||
p_app1->i_tag = VLC_FOURCC( 'm','j','p','g' );
|
||||
p_app1->i_field_size = 0;
|
||||
p_app1->i_padded_field_size = 0;
|
||||
p_app1->i_next_field = 0;
|
||||
p_app1.i_reserved = 0;
|
||||
p_app1.i_tag = VLC_FOURCC( 'm','j','p','g' );
|
||||
p_app1.i_field_size = 0;
|
||||
p_app1.i_padded_field_size = 0;
|
||||
p_app1.i_next_field = 0;
|
||||
/* XXX WARNING XXX */
|
||||
/* these's nothing magic about these values. We are dangerously
|
||||
* 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 )
|
||||
* does conform to standards outside of Apple Quicktime.
|
||||
*/
|
||||
i_offset = 0x2e;
|
||||
p_app1->i_DQT_offset = hton32( i_offset );
|
||||
p_app1.i_DQT_offset = hton32( i_offset );
|
||||
i_offset = 0xb4;
|
||||
p_app1->i_DHT_offset = hton32( i_offset );
|
||||
p_app1.i_DHT_offset = hton32( i_offset );
|
||||
i_offset = 0x258;
|
||||
p_app1->i_SOF_offset = hton32( i_offset );
|
||||
p_app1.i_SOF_offset = hton32( i_offset );
|
||||
i_offset = 0x26b;
|
||||
p_app1->i_SOS_offset = hton32( i_offset );
|
||||
p_app1.i_SOS_offset = hton32( i_offset );
|
||||
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
|
||||
* optional. They will be present in the output. */
|
||||
|
Loading…
Reference in New Issue
Block a user