OLD | NEW |
1 /* | 1 /* |
2 * H.26L/H.264/AVC/JVT/14496-10/... parser | 2 * H.26L/H.264/AVC/JVT/14496-10/... parser |
3 * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at> | 3 * Copyright (c) 2003 Michael Niedermayer <michaelni@gmx.at> |
4 * | 4 * |
5 * This file is part of FFmpeg. | 5 * This file is part of FFmpeg. |
6 * | 6 * |
7 * FFmpeg is free software; you can redistribute it and/or | 7 * FFmpeg is free software; you can redistribute it and/or |
8 * modify it under the terms of the GNU Lesser General Public | 8 * modify it under the terms of the GNU Lesser General Public |
9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
10 * version 2.1 of the License, or (at your option) any later version. | 10 * version 2.1 of the License, or (at your option) any later version. |
11 * | 11 * |
12 * FFmpeg is distributed in the hope that it will be useful, | 12 * FFmpeg is distributed in the hope that it will be useful, |
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
15 * Lesser General Public License for more details. | 15 * Lesser General Public License for more details. |
16 * | 16 * |
17 * You should have received a copy of the GNU Lesser General Public | 17 * You should have received a copy of the GNU Lesser General Public |
18 * License along with FFmpeg; if not, write to the Free Software | 18 * License along with FFmpeg; if not, write to the Free Software |
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
20 */ | 20 */ |
21 | 21 |
22 /** | 22 /** |
23 * @file | 23 * @file |
24 * H.264 / AVC / MPEG4 part10 parser. | 24 * H.264 / AVC / MPEG4 part10 parser. |
25 * @author Michael Niedermayer <michaelni@gmx.at> | 25 * @author Michael Niedermayer <michaelni@gmx.at> |
26 */ | 26 */ |
27 | 27 |
28 #define UNCHECKED_BITSTREAM_READER 1 | |
29 | |
30 #include "parser.h" | 28 #include "parser.h" |
31 #include "h264data.h" | 29 #include "h264data.h" |
32 #include "golomb.h" | 30 #include "golomb.h" |
33 | 31 |
34 #include <assert.h> | 32 #include <assert.h> |
35 | 33 |
36 | 34 |
37 static int ff_h264_find_frame_end(H264Context *h, const uint8_t *buf, int buf_si
ze) | 35 static int ff_h264_find_frame_end(H264Context *h, const uint8_t *buf, int buf_si
ze) |
38 { | 36 { |
39 int i, j; | 37 int i, j; |
(...skipping 341 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 } | 379 } |
382 | 380 |
383 AVCodecParser ff_h264_parser = { | 381 AVCodecParser ff_h264_parser = { |
384 .codec_ids = { CODEC_ID_H264 }, | 382 .codec_ids = { CODEC_ID_H264 }, |
385 .priv_data_size = sizeof(H264Context), | 383 .priv_data_size = sizeof(H264Context), |
386 .parser_init = init, | 384 .parser_init = init, |
387 .parser_parse = h264_parse, | 385 .parser_parse = h264_parse, |
388 .parser_close = close, | 386 .parser_close = close, |
389 .split = h264_split, | 387 .split = h264_split, |
390 }; | 388 }; |
OLD | NEW |