[vlc-commits] [Git][videolan/vlc][3.0.x] 3 commits: demux: AVI insert packetizer for XVID MPEG-4 video
Steve Lhomme (@robUx4)
gitlab at videolan.org
Thu Sep 5 17:31:02 UTC 2024
Steve Lhomme pushed to branch 3.0.x at VideoLAN / VLC
Commits:
b37da99f by Mangal Kushwah at 2024-08-22T11:45:10+05:30
demux: AVI insert packetizer for XVID MPEG-4 video
Older DivX-encoded videos commonly use an method called packed
bitstream which puts several video frames into a single AVI chunk.
Since Packed bitstream isn't standard MPEG-4 it causes playback issues
with some hw decoders.
(cherry picked from commit 980e4d7449e9e06bef525d9049dff5b9b5ecd673)
- - - - -
1f9ebe03 by Mangal Kushwah at 2024-08-22T12:16:56+05:30
codec: videotoolbox: remove sw decoder fallback for mp4v
commit 7a2bf498d545d500d30636970fa930eb54de5569 insert packetizer for
xvid mpeg4 video, so now hw decoder can decode xvid encoded video
without any playback issues.
(cherry picked from commit a9343f68bb19a1c20e45e1029848326020b0c69e)
- - - - -
8462f796 by Mangal Kushwah at 2024-08-31T16:45:07+05:30
Use `vlc_fourcc_GetCodec` to map XVID to MP4V
- - - - -
2 changed files:
- modules/codec/videotoolbox.m
- modules/demux/avi/avi.c
Changes:
=====================================
modules/codec/videotoolbox.m
=====================================
@@ -1024,11 +1024,6 @@ static CMVideoCodecType CodecPrecheck(decoder_t *p_dec)
case VLC_CODEC_MP4V:
{
- if (p_dec->fmt_in.i_original_fourcc == VLC_FOURCC( 'X','V','I','D' )) {
- msg_Warn(p_dec, "XVID decoding not implemented, fallback on software");
- return -1;
- }
-
msg_Dbg(p_dec, "Will decode MP4V with original FourCC '%4.4s'", (char *)&p_dec->fmt_in.i_original_fourcc);
return kCMVideoCodecType_MPEG4Video;
}
=====================================
modules/demux/avi/avi.c
=====================================
@@ -713,12 +713,13 @@ static int Open( vlc_object_t * p_this )
}
else
{
- tk->fmt.i_codec = p_bih->biCompression;
+ tk->fmt.i_codec = vlc_fourcc_GetCodec(VIDEO_ES, p_bih->biCompression);
if( tk->fmt.i_codec == VLC_CODEC_MP4V &&
!strncasecmp( (char*)&p_strh->i_handler, "XVID", 4 ) )
{
tk->fmt.i_codec =
tk->fmt.i_original_fourcc = VLC_FOURCC( 'X', 'V', 'I', 'D' );
+ tk->fmt.b_packetized = false;
}
/* Shitty files storing chroma in biCompression */
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/b16e559eadbcea539c893b319c360ade4e257d13...8462f7960d48a4452608063a921303bf66f3d351
--
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/b16e559eadbcea539c893b319c360ade4e257d13...8462f7960d48a4452608063a921303bf66f3d351
You're receiving this email because of your account on code.videolan.org.
VideoLAN code repository instance
More information about the vlc-commits
mailing list