This lets us remove one indentation level.
Signed-off-by: James Almer <jamrial@gmail.com>
| ... | ... |
@@ -105,17 +105,22 @@ int ff_avc_parse_nal_units_buf(const uint8_t *buf_in, uint8_t **buf, int *size) |
| 105 | 105 |
|
| 106 | 106 |
int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len) |
| 107 | 107 |
{
|
| 108 |
+ uint8_t *buf = NULL, *end, *start = NULL; |
|
| 109 |
+ uint8_t *sps = NULL, *pps = NULL; |
|
| 110 |
+ uint32_t sps_size = 0, pps_size = 0; |
|
| 111 |
+ int ret; |
|
| 112 |
+ |
|
| 108 | 113 |
if (len <= 6) |
| 109 | 114 |
return AVERROR_INVALIDDATA; |
| 110 | 115 |
|
| 111 | 116 |
/* check for H.264 start code */ |
| 112 |
- if (AV_RB32(data) == 0x00000001 || |
|
| 113 |
- AV_RB24(data) == 0x000001) {
|
|
| 114 |
- uint8_t *buf=NULL, *end, *start; |
|
| 115 |
- uint32_t sps_size=0, pps_size=0; |
|
| 116 |
- uint8_t *sps=0, *pps=0; |
|
| 117 |
+ if (AV_RB32(data) != 0x00000001 && |
|
| 118 |
+ AV_RB24(data) != 0x000001) {
|
|
| 119 |
+ avio_write(pb, data, len); |
|
| 120 |
+ return 0; |
|
| 121 |
+ } |
|
| 117 | 122 |
|
| 118 |
- int ret = ff_avc_parse_nal_units_buf(data, &buf, &len); |
|
| 123 |
+ ret = ff_avc_parse_nal_units_buf(data, &buf, &len); |
|
| 119 | 124 |
if (ret < 0) |
| 120 | 125 |
return ret; |
| 121 | 126 |
start = buf; |
| ... | ... |
@@ -156,9 +161,6 @@ int ff_isom_write_avcc(AVIOContext *pb, const uint8_t *data, int len) |
| 156 | 156 |
avio_wb16(pb, pps_size); |
| 157 | 157 |
avio_write(pb, pps, pps_size); |
| 158 | 158 |
av_free(start); |
| 159 |
- } else {
|
|
| 160 |
- avio_write(pb, data, len); |
|
| 161 |
- } |
|
| 162 | 159 |
return 0; |
| 163 | 160 |
} |
| 164 | 161 |
|